From: Doyoun Kang Date: Thu, 2 Mar 2017 02:30:29 +0000 (+0900) Subject: e_comp_object: rearrange e_client stack when evas object layer is changed X-Git-Tag: submit/tizen_3.0/20170302.041421^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aa77efdd64f2156819151ae9fdecba5728c61bc2;p=platform%2Fupstream%2Fenlightenment.git e_comp_object: rearrange e_client stack when evas object layer is changed Change-Id: I4818f6dcb34ae4f7318a0549a836d196baaf5747 --- diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 29f2d1595b..e2687f0566 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -1697,7 +1697,12 @@ static void _e_comp_intercept_stack_above(void *data, Evas_Object *obj, Evas_Object *above) { EINA_SAFETY_ON_TRUE_RETURN(obj == above); - if (evas_object_below_get(obj) == above) return; + + if (evas_object_below_get(obj) == above) + { + e_comp_object_layer_update(obj, above, NULL); + return; + } TRACE_DS_BEGIN(COMP:INTERCEPT STACK ABOVE); _e_comp_intercept_stack_helper(data, above, evas_object_stack_above); @@ -1710,7 +1715,11 @@ static void _e_comp_intercept_stack_below(void *data, Evas_Object *obj, Evas_Object *below) { EINA_SAFETY_ON_TRUE_RETURN(obj == below); - if (evas_object_above_get(obj) == below) return; + if (evas_object_above_get(obj) == below) + { + e_comp_object_layer_update(obj, NULL, below); + return; + } TRACE_DS_BEGIN(COMP:INTERCEPT STACK BELOW); _e_comp_intercept_stack_helper(data, below, evas_object_stack_below); @@ -1765,7 +1774,11 @@ _e_comp_intercept_raise(void *data, Evas_Object *obj) if ((cw->ec->layer_block) || (cw->ec->layer_pending)) { if (cw->ec->layer_pending) - e_comp_object_layer_update(obj, NULL, NULL); + { + int obj_layer = evas_object_layer_get(obj); + if (cw->ec->layer != obj_layer) + e_comp_object_layer_update(obj, NULL, NULL); + } evas_object_raise(obj); goto end;