There was a bug that the e_comp's layer inlist was corrupted.
This could be occurred when the window which has transient children and sub-surface changed its layer.
E remove a parent from the inlist, and then changed the layer of children and sub-surface.
In subsurface code, there is a callback function for EVAS_CALLBACK_RESTACK.
And it calls stack_above or stack_below to the parent.
But unfortunately, the parent was removed from inlist. So, inlist could corrupted in this case.
This patch resolve this problem.
Change-Id: I2018a7409366e73bc8bd67f2a547da8755225046
return;
}
oldraise = e_config->transient.raise;
- _e_comp_object_layers_remove(cw);
+
/* clamp to valid client layer */
layer = e_comp_canvas_client_layer_map_nearest(layer);
cw->ec->layer = layer;
}
e_config->transient.raise = oldraise;
+
+ _e_comp_object_layers_remove(cw);
cw->layer = e_comp_canvas_layer_map(layer);
_e_comp_object_layers_add(cw, NULL, NULL, 0);
//if (cw->ec->new_client)