e_mod_effect: effect style unset if no effect start 24/209824/1
authorJuyeon Lee <juyeonne.lee@samsung.com>
Thu, 11 Jul 2019 09:59:26 +0000 (18:59 +0900)
committerJuyeon Lee <juyeonne.lee@samsung.com>
Thu, 11 Jul 2019 10:02:09 +0000 (19:02 +0900)
in case of keyboard' magnifier window, it changes its stack between
normal and normal above.
while it changes its stack to normal, animation effect would run.
but after running hide-effect and changing stack to above normal,
its clipper color still remained in transparent.
as a result, window would be shown transparent due to no edc run.

Change-Id: I7f4a2b05d29788315f3875ef87912b5cd70e056b

src/e_mod_effect.c

index c14bc91..7abc0b0 100644 (file)
@@ -943,7 +943,11 @@ _eff_cb_visible(void *data, Evas_Object *obj, const char *signal)
 
    group = _eff_group_get(ec);
    if ((group != E_EFFECT_GROUP_NORMAL) &&
-       (group != E_EFFECT_GROUP_KEYBOARD)) return EINA_FALSE;
+       (group != E_EFFECT_GROUP_KEYBOARD))
+     {
+        e_comp_object_effect_set(ec->frame, NULL);
+        return EINA_FALSE;
+     }
 
    if (evas_object_visible_get(obj)) return EINA_FALSE;
    if (!_eff_ref(ec)) return EINA_FALSE;
@@ -1020,7 +1024,11 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal)
    /* check for effect group */
    group = _eff_group_get(ec);
    if ((group != E_EFFECT_GROUP_NORMAL) &&
-       (group != E_EFFECT_GROUP_KEYBOARD)) return EINA_FALSE;
+       (group != E_EFFECT_GROUP_KEYBOARD))
+     {
+        e_comp_object_effect_set(ec->frame, NULL);
+        return EINA_FALSE;
+     }
 
    if (group == E_EFFECT_GROUP_KEYBOARD)
      {
@@ -1180,6 +1188,10 @@ _eff_cb_uniconify(void *data, Evas_Object *obj, const char *signal)
         e_comp_object_effect_start(ec->frame, _eff_cb_uniconify_done, ec);
         return EINA_TRUE;
      }
+   else
+     {
+        e_comp_object_effect_set(ec->frame, NULL);
+     }
 
    return EINA_FALSE;
 }
@@ -1217,7 +1229,11 @@ _eff_cb_iconify(void *data, Evas_Object *obj, const char *signal)
 
    group = _eff_group_get(ec);
    if ((group != E_EFFECT_GROUP_NORMAL) &&
-       (group != E_EFFECT_GROUP_KEYBOARD)) return EINA_FALSE;
+       (group != E_EFFECT_GROUP_KEYBOARD))
+     {
+        e_comp_object_effect_set(ec->frame, NULL);
+        return EINA_FALSE;
+     }
 
    if (!evas_object_visible_get(obj)) return EINA_FALSE;
 
@@ -1381,7 +1397,11 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
      }
 
    if ((group != E_EFFECT_GROUP_NORMAL) &&
-       (group != E_EFFECT_GROUP_KEYBOARD)) return EINA_FALSE;
+       (group != E_EFFECT_GROUP_KEYBOARD))
+     {
+        e_comp_object_effect_set(ec->frame, NULL);
+        return EINA_FALSE;
+     }
 
    if ((!e_util_strcmp(emission, "e,action,restack,show")))
      {