more dialog delete cleanups

SVN revision: 75755
This commit is contained in:
Mike Blumenkrantz 2012-08-28 06:49:14 +00:00
parent 33f252cc9c
commit 540e94652e
3 changed files with 34 additions and 0 deletions

View File

@ -6,6 +6,14 @@ static void _e_confirm_dialog_delete(E_Win *win);
static void _e_confirm_dialog_yes(void *data, E_Dialog *dia);
static void _e_confirm_dialog_no(void *data, E_Dialog *dia);
static void
_dia_del(void *data)
{
E_Dialog *dia = data;
e_object_del(dia->data);
}
/********** externally accesible functions ****************/
EAPI E_Confirm_Dialog *
e_confirm_dialog_show(const char *title, const char *icon, const char *text,
@ -35,6 +43,7 @@ e_confirm_dialog_show(const char *title, const char *icon, const char *text,
cd->dia = dia;
e_win_delete_callback_set(dia->win, _e_confirm_dialog_delete);
e_object_del_attach_func_set(E_OBJECT(dia), _dia_del);
if (title) e_dialog_title_set(dia, title);
if (icon) e_dialog_icon_set(dia, icon, 64);

View File

@ -8939,6 +8939,16 @@ _e_fm2_view_menu_use_default_cb(void *data, E_Menu *m, E_Menu_Item *mi)
_e_fm2_refresh(sd, m, mi);
}
static void
_image_sel_del(void *data)
{
E_Fm2_Smart_Data *sd;
sd = e_object_data_get(data);
if (!sd) return;
sd->image_dialog = NULL;
}
static void
_e_fm2_view_image_sel(E_Fm2_Smart_Data *sd, const char *title,
void (*ok_cb)(void *data, E_Dialog *dia),
@ -8970,6 +8980,8 @@ _e_fm2_view_image_sel(E_Fm2_Smart_Data *sd, const char *title,
e_dialog_button_add(dia, _("Cancel"), NULL, _e_fm2_view_image_sel_close, sd);
e_dialog_resizable_set(dia, 1);
e_win_centered_set(dia->win, 1);
e_object_data_set(E_OBJECT(dia), sd);
e_object_del_attach_func_set(E_OBJECT(dia), _image_sel_del);
e_dialog_show(dia);
sd->image_dialog = dia;

View File

@ -574,6 +574,18 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
#endif
static void
_dia_del(void *data)
{
E_Dialog *dia = data;
E_Config_Dialog_Data *cfdata;
cfdata = dia->data;
if (!cfdata) return;
cfdata->gui.fsel = NULL;
cfdata->gui.fsel_wid = NULL;
}
static void
_cb_icon_sel(void *data, void *data2)
{
@ -612,6 +624,7 @@ _cb_icon_sel(void *data, void *data2)
e_util_win_auto_resize_fill(dia->win);
e_win_centered_set(dia->win, 1);
e_dialog_show(dia);
e_object_del_attach_func_set(E_OBJECT(dia), _dia_del);
cfdata->gui.fsel = dia;
}