From ffac12a5e1a00c838dc28167a85bedb40709a849 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 10 Aug 2012 09:53:11 +0000 Subject: [PATCH] forgot to hook dialog deletes in new import dialogs which led to a crash when keybinds were used. fix! SVN revision: 75078 --- src/bin/e_import_config_dialog.c | 9 +++++++++ src/bin/e_import_dialog.c | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/bin/e_import_config_dialog.c b/src/bin/e_import_config_dialog.c index 43621112d..723d006db 100644 --- a/src/bin/e_import_config_dialog.c +++ b/src/bin/e_import_config_dialog.c @@ -380,6 +380,14 @@ _e_import_config_preview_size_get(int size, int w, int h,int *tw, int *th) *th = h; } +static void +_e_import_config_dia_del(void *data) +{ + E_Dialog *dia = data; + + e_object_del(dia->data); +} + static void _e_import_config_dialog_del(void *data) { @@ -433,6 +441,7 @@ e_import_config_dialog_show(E_Container *con, const char *path, Ecore_End_Cb ok, import->dia = dia; import->ok = ok, import->cancel = cancel; import->path = eina_stringshare_add(path); + e_object_del_attach_func_set(E_OBJECT(dia), _e_import_config_dia_del); e_win_delete_callback_set(dia->win, _e_import_config_dialog_win_del); evas = e_win_evas_get(dia->win); diff --git a/src/bin/e_import_dialog.c b/src/bin/e_import_dialog.c index bfbcefa68..c692c6cd0 100644 --- a/src/bin/e_import_dialog.c +++ b/src/bin/e_import_dialog.c @@ -100,6 +100,14 @@ _fsel_cb_ok(void *data, E_Dialog *dia __UNUSED__) } +static void +_e_import_dia_del(void *data) +{ + E_Dialog *dia = data; + + e_object_del(dia->data); +} + static void _e_import_dialog_del(void *data) { @@ -120,6 +128,7 @@ _e_import_dialog_win_del(E_Win *win) id = dia->data; e_object_del(E_OBJECT(id)); } + ////////////////////////////////////////////////////////////////////////////////// EAPI E_Import_Dialog * @@ -140,6 +149,7 @@ e_import_dialog_show(E_Container *con, const char *dev, const char *path, Ecore_ dia->data = id; id->dia = dia; id->ok = ok, id->cancel = cancel; + e_object_del_attach_func_set(E_OBJECT(dia), _e_import_dia_del); e_win_delete_callback_set(dia->win, _e_import_dialog_win_del); evas = e_win_evas_get(dia->win);