discomfitor pushed a commit to branch master.

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

commit d659b86478494ba76903100a06f681e32d0ebc6a
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Nov 20 09:14:53 2015 -0500

    remove fwin popup size hint change callback on win deletion
    
    this callback also crashes if called during delete
---
 src/modules/fileman/e_fwin.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c
index eb9764c..5087cdd 100644
--- a/src/modules/fileman/e_fwin.c
+++ b/src/modules/fileman/e_fwin.c
@@ -857,6 +857,12 @@ _e_fwin_icon_hints(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj, void *even
    evas_object_geometry_set(fwin->popup, px, py, mw, mh);
 }
 
+static void
+_e_fwin_popup_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   evas_object_event_callback_del(data, EVAS_CALLBACK_CHANGED_SIZE_HINTS, 
_e_fwin_icon_hints);
+}
+
 static Eina_Bool
 _e_fwin_icon_popup(void *data)
 {
@@ -888,6 +894,8 @@ _e_fwin_icon_popup(void *data)
                              fwin->popup_icon->label : fwin->popup_icon->file);
    
    list = e_widget_list_add(e_comp->evas, 0, 0);
+   if (fwin->win)
+     evas_object_event_callback_add(fwin->win, EVAS_CALLBACK_DEL, 
_e_fwin_popup_del, list);
    
    o = e_widget_filepreview_add(e_comp->evas, mw, mh, 0);
    e_widget_filepreview_clamp_video_set(o, fileman_config->tooltip.clamp_size);

-- 


Reply via email to