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
This commit is contained in:
parent
3033c550d1
commit
7bc59d01fe
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue