discomfitor pushed a commit to branch master.

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

commit 7bc59d01fed8b715a08ee7d6209cd8723d7a3241
Author: Mike Blumenkrantz <zm...@samsung.com>
Date:   Fri May 30 11:22:21 2014 -0400

    slightly optimize shape cutting
    
    objects below the bottom client are unnecessary, so it's better to just 
start with the bottom client. this has a nice side effect of working around a 
weird evas bug where layers can exist while having no objects, breaking 
stacking iterator functions
---
 src/bin/e_comp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 31d24c2..d0723b3 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -681,7 +681,8 @@ _e_comp_shapes_update_job(E_Comp *c)
    eina_tiler_tile_size_set(tb, 1, 1);
    /* background */
    eina_tiler_rect_add(tb, &(Eina_Rectangle){c->man->x, c->man->y, c->man->w, 
c->man->h});
-   o = evas_object_bottom_get(c->evas);
+
+   o = e_client_bottom_get(c)->frame;
    for (; o; o = evas_object_above_get(o))
      {
         int layer;
@@ -690,9 +691,8 @@ _e_comp_shapes_update_job(E_Comp *c)
         layer = evas_object_layer_get(o);
         if (e_comp_canvas_client_layer_map(layer) == 9999) //not a client layer
           {
-             /* ignore objects stacked below first client layer */
-             if (layer < E_LAYER_CLIENT_PRIO) continue;
              _e_comp_shapes_update_object_shape_comp_helper(c, o, tb);
+             continue;
           }
         ec = evas_object_data_get(o, "E_Client");
         if (ec && (!ec->no_shape_cut))

-- 


Reply via email to