discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=77b31ba0237a9579ac317f8c1ef3b9a73c17ebd1

commit 77b31ba0237a9579ac317f8c1ef3b9a73c17ebd1
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Thu Feb 22 15:30:10 2018 -0500

    evas event_grabber: fix child ordering when adding non-top children
    
    another ref 0516cdc0f9dc0969ac96df6984af2413680cad01
    
    @fix
---
 src/lib/evas/canvas/efl_canvas_object_event_grabber.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/efl_canvas_object_event_grabber.c 
b/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
index ddf31c90ba..01851897e9 100644
--- a/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
+++ b/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
@@ -123,13 +123,21 @@ _child_insert(Efl_Object_Event_Grabber_Data *pd, 
Evas_Object_Protected_Data *obj
         if (a->layer->layer > obj->layer->layer) continue;
         if (a->layer->layer < obj->layer->layer)
           {
+             /* new object is higher layer than 'a' */
              found = EINA_TRUE;
              break;
           }
         EINA_INLIST_FOREACH(EINA_INLIST_GET(a->layer->objects), i)
           {
-             if (a == i || obj == i)
+             if (obj == i)
                {
+                  /* new object is below 'a' */
+                  pd->contained = eina_list_prepend_relative(pd->contained, 
obj, a);
+                  return;
+               }
+             else if (a == i)
+               {
+                  /* new object is above 'a' */
                   found = EINA_TRUE;
                   break;
                }

-- 


Reply via email to