discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=cef6ebd2db040f64edcaa21691836022f2e97d5f

commit cef6ebd2db040f64edcaa21691836022f2e97d5f
Author: Mike Blumenkrantz <[email protected]>
Date:   Tue Aug 26 09:45:04 2014 -0400

    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 79f003d..9832c35 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;
      }

-- 


Reply via email to