From b2706afe06f70e55bd71688c2f2dd3bfd096175b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 20 Nov 2015 09:09:38 -0500 Subject: [PATCH] ensure fwin efm delete callback does not trigger crash if this is called during fwin delete, dereferencing the passed data will result in a crash --- src/modules/fileman/e_fwin.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c index 68c69f573..eb9764c23 100644 --- a/src/modules/fileman/e_fwin.c +++ b/src/modules/fileman/e_fwin.c @@ -1934,24 +1934,20 @@ _e_fwin_cb_key_down(void *data, } static void -_e_fwin_cb_page_obj_del(void *data, +_e_fwin_cb_page_obj_del(void *data EINA_UNUSED, Evas *evas EINA_UNUSED, - Evas_Object *obj EINA_UNUSED, + Evas_Object *obj, void *event_info EINA_UNUSED) { - E_Fwin_Page *page; - - page = data; - - evas_object_smart_callback_del(page->fm_obj, "dir_changed", + evas_object_smart_callback_del(obj, "dir_changed", _e_fwin_changed); - evas_object_smart_callback_del(page->fm_obj, "dir_deleted", + evas_object_smart_callback_del(obj, "dir_deleted", _e_fwin_deleted); - evas_object_smart_callback_del(page->fm_obj, "selected", + evas_object_smart_callback_del(obj, "selected", _e_fwin_selected); - evas_object_smart_callback_del(page->fm_obj, "selection_change", + evas_object_smart_callback_del(obj, "selection_change", _e_fwin_selection_change); - evas_object_event_callback_del(page->fm_obj, EVAS_CALLBACK_DEL, + evas_object_event_callback_del(obj, EVAS_CALLBACK_DEL, _e_fwin_cb_page_obj_del); }