From: Changyeon Lee Date: Mon, 13 Apr 2020 09:14:49 +0000 (+0900) Subject: e_mod_effect: call e_comp_client_override_add before eff_ref X-Git-Tag: submit/tizen/20200601.071909~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3ae477bfb60076d72d05406ac93e69b9f39fa968;p=platform%2Fcore%2Fuifw%2Fe-mod-tizen-effect.git e_mod_effect: call e_comp_client_override_add before eff_ref e_comp_object_native_usable_get is valid after e_comp_client_override_add Change-Id: I28c10971ec9c07772b71ec92311e11fd1c3f0912 --- diff --git a/src/e_mod_effect.c b/src/e_mod_effect.c index 76ec16b..d4cb5b9 100644 --- a/src/e_mod_effect.c +++ b/src/e_mod_effect.c @@ -950,11 +950,17 @@ _eff_cb_visible(void *data, Evas_Object *obj, const char *signal) } if (evas_object_visible_get(obj)) return EINA_FALSE; - if (!_eff_ref(ec)) return EINA_FALSE; - _eff_stack_update(); e_comp_client_override_add(ec); + if (!_eff_ref(ec)) + { + e_comp_client_override_del(ec); + return EINA_FALSE; + } + + _eff_stack_update(); + EFFINF("SET EXTRA_ANIMATING...", ec); ec->extra_animating = EINA_TRUE; @@ -1045,10 +1051,14 @@ _eff_cb_hidden(void *data, Evas_Object *obj, const char *signal) v2 = _eff_visibility_stack_check(ec, _eff->stack.cur); if ((!v1) && (!v2)) return EINA_FALSE; - if (!_eff_ref(ec)) return EINA_FALSE; - e_comp_client_override_add(ec); + if (!_eff_ref(ec)) + { + e_comp_client_override_del(ec); + return EINA_FALSE; + } + // check if client was lowered below = evas_object_below_get(obj); map_ly = e_comp_canvas_layer_map(evas_object_layer_get(obj)); @@ -1170,10 +1180,14 @@ _eff_cb_uniconify(void *data, Evas_Object *obj, const char *signal) if ((v2) && (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED)) return EINA_FALSE; if ((!v2) && (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED)) return EINA_FALSE; - if (!_eff_ref(ec)) return EINA_FALSE; - e_comp_client_override_add(ec); + if (!_eff_ref(ec)) + { + e_comp_client_override_del(ec); + return EINA_FALSE; + } + _eff_object_setup(ec, group); _eff_object_under_setup(ec); @@ -1256,10 +1270,14 @@ _eff_cb_iconify(void *data, Evas_Object *obj, const char *signal) if ((v2) && (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED)) return EINA_FALSE; if ((!v2) && (ec->visibility.obscured != E_VISIBILITY_UNOBSCURED)) return EINA_FALSE; - if (!_eff_ref(ec)) return EINA_FALSE; - e_comp_client_override_add(ec); + if (!_eff_ref(ec)) + { + e_comp_client_override_del(ec); + return EINA_FALSE; + } + _eff_object_setup(ec, group); _eff_object_under_setup(ec); @@ -1424,13 +1442,18 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) _eff_object_layer_down(ec); return EINA_FALSE; } - if (!_eff_ref(ec)) return EINA_FALSE; + + e_comp_client_override_add(ec); + + if (!_eff_ref(ec)) + { + e_comp_client_override_del(ec); + return EINA_FALSE; + } EFFINF("SET EXTRA_ANIMATING...", ec); ec->extra_animating = EINA_TRUE; - e_comp_client_override_add(ec); - _eff_object_setup(ec, group); _eff_object_under_setup(ec); @@ -1459,7 +1482,14 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) _eff_object_layer_down(ec); return EINA_FALSE; } - if (!_eff_ref(ec)) return EINA_FALSE; + + e_comp_client_override_add(ec); + + if (!_eff_ref(ec)) + { + e_comp_client_override_del(ec); + return EINA_FALSE; + } if (ec_home) { @@ -1480,8 +1510,6 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) } } - e_comp_client_override_add(ec); - _eff_object_layer_up(ec); _eff_object_setup(ec, group); @@ -1509,10 +1537,14 @@ _eff_cb_restack(void *data, Evas_Object *obj, const char *signal) } else if (!e_util_strcmp(emission, "e,action,restack,finish")) { - if (!_eff_ref(ec)) return EINA_FALSE; - e_comp_client_override_add(ec); + if (!_eff_ref(ec)) + { + e_comp_client_override_del(ec); + return EINA_FALSE; + } + _eff_object_setup(ec, group); _eff_object_under_setup(ec);