e_comp_object: fix bug for handling the transient_for below window
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 6 Jul 2017 09:39:28 +0000 (18:39 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 6 Jul 2017 09:59:37 +0000 (18:59 +0900)
There was a bug that the transient_for below window's stack is invalid after running effect.
So, we added code to check the transient_policy of the window before chaning window stack.

Change-Id: I0c0573e55fd092b9c74c63bcad4517dd42a06c30

src/bin/e_comp_object.c

index 7886d17d587c855678fc306ee9b41faeab55482a..659716222dbc36f6a826e88e2c7edaee0958f1a4 100644 (file)
@@ -1561,7 +1561,12 @@ _e_comp_intercept_layer_set(void *data, Evas_Object *obj, int layer)
                   ec = NULL;
                }
              if (ec && (cw->ec->parent == ec))
-               evas_object_stack_above(obj, ec->frame);
+               {
+                  if (cw->ec->transient_policy == E_TRANSIENT_ABOVE)
+                    evas_object_stack_above(obj, ec->frame);
+                  else
+                    evas_object_stack_below(obj, ec->frame);
+               }
              else
                evas_object_stack_below(obj, ec ? ec->frame : e_comp->layers[cw->layer].obj);
           }