if (above)
{
E_View *above_view = e_view_client_view_get(e_client_view_get(above->ec));
- e_view_place_above(view, above_view);
+ if (e_view_above_get(above_view) != view)
+ e_view_place_above(view, above_view);
_e_comp_object_input_layers_update(above->layer, E_COMP_INPUT_INLIST_APPEND_RELATIVE, cw->ec, above->ec);
}
else if (below)
{
E_View *below_view = e_view_client_view_get(e_client_view_get(below->ec));
- e_view_place_below(view, below_view);
+ if (e_view_below_get(below_view) != view)
+ e_view_place_below(view, below_view);
_e_comp_object_input_layers_update(below->layer, E_COMP_INPUT_INLIST_PREPEND_RELATIVE, cw->ec, below->ec);
}
else
{
// prepend means bottom
E_View *layer_obj = e_policy_layer_obj_get(pdal);
- if (layer_obj) e_view_place_above(view, layer_obj);
+ if (layer_obj)
+ {
+ if (e_view_above_get(layer_obj) != view)
+ e_view_place_above(view, layer_obj);
+ }
else
{
E_View_Tree *view_tree = e_policy_layer_view_tree_get(pdal);