From a16f820f955f23e25a9f8b48e0b9b646c6e795d4 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 5 Feb 2014 13:05:05 -0500 Subject: [PATCH] only ignore protocol stacking if comp object is on a different layer --- src/bin/e_comp_object.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 1ec503b21..dfb47ae0a 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -901,7 +901,11 @@ _e_comp_intercept_stack_above(void *data, Evas_Object *obj, Evas_Object *above) if (evas_object_below_get(obj) == above) return; if (cw->ec->layer_block) { + if (cw->ec->layer == evas_object_layer_get(obj)) + evas_object_data_set(obj, "client_restack", (void*)1); evas_object_stack_above(obj, above); + if (cw->ec->layer == evas_object_layer_get(obj)) + evas_object_data_del(obj, "client_restack"); return; } if (cw->ec->new_client) @@ -992,7 +996,11 @@ _e_comp_intercept_stack_below(void *data, Evas_Object *obj, Evas_Object *below) if (evas_object_above_get(obj) == below) return; if (cw->ec->layer_block) { + if (cw->ec->layer == evas_object_layer_get(obj)) + evas_object_data_set(obj, "client_restack", (void*)1); evas_object_stack_below(obj, below); + if (cw->ec->layer == evas_object_layer_get(obj)) + evas_object_data_del(obj, "client_restack"); return; } if (cw->ec->new_client)