discomfitor pushed a commit to branch enlightenment-0.20.

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

commit d2db21520102341156a7c03bdc83f9e6f5a7f3ea
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Jan 13 16:46:48 2016 -0500

    do full cleanup when overriding existing comp autoclose object
    
    failing to trigger delete on existing autoclose object would result
    in the object never closing and being "leaked"
---
 src/bin/e_comp_object.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index b2abfbe..0332c81 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -4133,16 +4133,7 @@ e_comp_object_util_autoclose(Evas_Object *obj, 
E_Comp_Object_Autoclose_Cb del_cb
      {
         if (e_comp->autoclose.obj == obj) return;
         evas_object_event_callback_del_full(e_comp->autoclose.obj, 
EVAS_CALLBACK_DEL, _e_comp_object_autoclose_del, e_comp);
-        e_comp->autoclose.obj = obj;
-        e_comp->autoclose.del_cb = del_cb;
-        e_comp->autoclose.key_cb = cb;
-        e_comp->autoclose.data = (void*)data;
-        if (evas_object_visible_get(obj))
-          _e_comp_object_autoclose_setup(obj);
-        else
-          evas_object_event_callback_add(obj, EVAS_CALLBACK_SHOW, 
_e_comp_object_autoclose_show, e_comp);
-        evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, 
_e_comp_object_autoclose_del, e_comp);
-        return;
+        _e_comp_object_autoclose_cleanup(0);
      }
    e_comp->autoclose.obj = obj;
    e_comp->autoclose.del_cb = del_cb;

-- 


Reply via email to