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"
This commit is contained in:
Mike Blumenkrantz 2016-01-13 16:46:48 -05:00
parent 6434d2b354
commit d2db215201
1 changed files with 1 additions and 10 deletions

View File

@ -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;