From cef6ebd2db040f64edcaa21691836022f2e97d5f Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 26 Aug 2014 09:45:04 -0400 Subject: [PATCH] fix post-effect stacking BITCH and post-effect transient stacking --- src/bin/e_comp_object.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 79f003d0b..9832c357e 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -951,9 +951,22 @@ _e_comp_intercept_layer_set(void *data, Evas_Object *obj, int layer) { E_Client *ec; - ec = e_client_above_get(cw->ec); - evas_object_stack_below(obj, ec ? ec->frame : cw->comp->layers[cw->layer].obj); e_comp_shape_queue(cw->comp); + ec = e_client_above_get(cw->ec); + if (ec && (evas_object_layer_get(ec->frame) != evas_object_layer_get(obj))) + { + ec = e_client_below_get(cw->ec); + if (ec && (evas_object_layer_get(ec->frame) == evas_object_layer_get(cw->smart_obj))) + { + evas_object_stack_above(obj, ec->frame); + return; + } + ec = NULL; + } + if (ec && (cw->ec->parent == ec)) + evas_object_stack_above(obj, ec->frame); + else + evas_object_stack_below(obj, ec ? ec->frame : cw->comp->layers[cw->layer].obj); } return; }