From 642f2193356ef87dc95445bf55b304c97dfcb8b5 Mon Sep 17 00:00:00 2001 From: MinJeong Kim Date: Fri, 24 Feb 2017 17:19:55 +0900 Subject: [PATCH] Adjust layer of non-animatable clients Change-Id: Ib1ec3ccad9d2c0fc96e96d8515702f3347598920 Signed-off-by: MinJeong Kim --- src/e_mod_effect.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 9b619e9..eb977fc 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -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))) -- 2.7.4