discomfitor pushed a commit to branch master.

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

commit b7cb24c32395f4f2b1fb0cdb57696d19e7c5a6d6
Author: Mike Blumenkrantz <[email protected]>
Date:   Tue Jun 19 13:40:52 2018 -0400

    evas: switch to EFL_EVENT_INVALIDATE for event grabber sub-object deletion
    
    Summary:
    this requires the parent of the deleted object to be reachable, so use the
    invalidate callback as this is the last point during which it's possible to
    retrieve a parent object
    
    ref T7030
    
    Depends on D6320
    
    Reviewers: bu5hm4n, Hermet, woohyun, devilhorns
    
    Reviewed By: bu5hm4n
    
    Subscribers: cedric, #committers
    
    Tags: #efl
    
    Maniphest Tasks: T7030
    
    Differential Revision: https://phab.enlightenment.org/D6321
---
 src/lib/evas/canvas/efl_canvas_event_grabber.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_event_grabber.c 
b/src/lib/evas/canvas/efl_canvas_event_grabber.c
index deb1c28bcc..df7282754b 100644
--- a/src/lib/evas/canvas/efl_canvas_event_grabber.c
+++ b/src/lib/evas/canvas/efl_canvas_event_grabber.c
@@ -189,7 +189,7 @@ _efl_canvas_object_event_grabber_child_restack(void *data, 
const Efl_Event *even
 }
 
 static void
-_efl_canvas_object_event_grabber_child_del(void *data, const Efl_Event *event)
+_efl_canvas_object_event_grabber_child_invalidate(void *data, const Efl_Event 
*event)
 {
    Efl_Object_Event_Grabber_Data *pd = data;
 
@@ -244,7 +244,7 @@ 
_efl_canvas_event_grabber_efl_canvas_group_group_member_add(Eo *eo_obj, Efl_Obje
      events->parent = eo_obj;
    EINA_COW_WRITE_END(evas_object_events_cow, sub->events, events);
    _child_insert(pd, sub);
-   efl_event_callback_add(eo_sub, EFL_EVENT_DEL, 
_efl_canvas_object_event_grabber_child_del, pd);
+   efl_event_callback_add(eo_sub, EFL_EVENT_INVALIDATE, 
_efl_canvas_object_event_grabber_child_invalidate, pd);
    if (eo_sub != pd->rect)
      efl_event_callback_add(eo_sub, EFL_GFX_ENTITY_EVENT_RESTACK, 
_efl_canvas_object_event_grabber_child_restack, pd);
 }
@@ -254,7 +254,7 @@ 
_efl_canvas_event_grabber_efl_canvas_group_group_member_del(Eo *eo_obj EINA_UNUS
 {
    Evas_Object_Protected_Data *obj = efl_data_scope_get(member, 
EFL_CANVAS_OBJECT_CLASS);
 
-   efl_event_callback_del(member, EFL_EVENT_DEL, 
_efl_canvas_object_event_grabber_child_del, pd);
+   efl_event_callback_del(member, EFL_EVENT_INVALIDATE, 
_efl_canvas_object_event_grabber_child_invalidate, pd);
    efl_event_callback_del(member, EFL_GFX_ENTITY_EVENT_RESTACK, 
_efl_canvas_object_event_grabber_child_restack, pd);
    pd->contained = eina_list_remove(pd->contained, obj);
 

-- 


Reply via email to