diff --git a/legacy/evas/src/lib/canvas/evas_layer.c b/legacy/evas/src/lib/canvas/evas_layer.c index 367558f10e..4b11f544fd 100644 --- a/legacy/evas/src/lib/canvas/evas_layer.c +++ b/legacy/evas/src/lib/canvas/evas_layer.c @@ -155,6 +155,7 @@ evas_object_layer_set(Evas_Object *obj, int l) obj->cur.layer = l; evas_object_inject(obj, e); obj->restack = 1; + evas_object_change(obj); if (obj->clip.clipees) { evas_object_inform_call_restack(obj); diff --git a/legacy/evas/src/lib/canvas/evas_stack.c b/legacy/evas/src/lib/canvas/evas_stack.c index 9843d653ab..eba0224fa5 100644 --- a/legacy/evas/src/lib/canvas/evas_stack.c +++ b/legacy/evas/src/lib/canvas/evas_stack.c @@ -196,6 +196,7 @@ evas_object_stack_above(Evas_Object *obj, Evas_Object *above) } else { + if (above->smart.parent) return; if (obj->layer != above->layer) { return; @@ -272,6 +273,7 @@ evas_object_stack_below(Evas_Object *obj, Evas_Object *below) } else { + if (below->smart.parent) return; if (obj->layer != below->layer) { return;