Adjust layer of non-animatable clients 23/116423/1
authorMinJeong Kim <minjjj.kim@samsung.com>
Fri, 24 Feb 2017 08:19:55 +0000 (17:19 +0900)
committerMinJeong Kim <minjjj.kim@samsung.com>
Fri, 24 Feb 2017 08:20:48 +0000 (17:20 +0900)
Change-Id: Ib1ec3ccad9d2c0fc96e96d8515702f3347598920
Signed-off-by: MinJeong Kim <minjjj.kim@samsung.com>
src/e_mod_effect.c

index 9b619e9..eb977fc 100644 (file)
@@ -903,6 +903,13 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
 
    if ((!e_util_strcmp(emission, "e,action,restack,show")))
      {
+        /* if ec wass changed to non-animatable, just up and down layer */
+        if (!ec->animatable)
+          {
+             _eff_object_layer_up(ec);
+             _eff_object_layer_down(ec);
+             return EINA_FALSE;
+          }
         if (!_eff_ref(ec)) return EINA_FALSE;
 
         EFFINF("SET EXTRA_ANIMATING...", ec->pixmap, ec);
@@ -928,6 +935,13 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal)
      }
    else if (!e_util_strcmp(emission, "e,action,restack,hide"))
      {
+        /* if ec was changed to non-animatable, just up and down layer */
+        if (!ec->animatable)
+          {
+             _eff_object_layer_up(ec);
+             _eff_object_layer_down(ec);
+             return EINA_FALSE;
+          }
         if (!_eff_ref(ec)) return EINA_FALSE;
 
         if (ec_home)
@@ -1080,6 +1094,7 @@ _eff_cb_client_restack(void *data, int type, void *event)
 
    _eff_stack_update();
 
+   if (!ec->animatable) return ECORE_CALLBACK_PASS_ON;
    if (!_eff_client_get(ec)) return ECORE_CALLBACK_PASS_ON;
 
    if ((emission = _eff_restack_effect_check(ec)))