From 55ae26fcd31fd32253531a980f1cdca27d37e739 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 12 Dec 2012 16:54:48 +0000 Subject: [PATCH] prevent config dialogs from crashing if create/free data functions are not defined SVN revision: 80772 --- src/bin/e_config_dialog.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_config_dialog.c b/src/bin/e_config_dialog.c index ca7fb10ef..de549fc17 100644 --- a/src/bin/e_config_dialog.c +++ b/src/bin/e_config_dialog.c @@ -156,7 +156,7 @@ _e_config_dialog_free(E_Config_Dialog *cfd) if (cfd->name) eina_stringshare_del(cfd->name); if (cfd->class) eina_stringshare_del(cfd->class); if (cfd->icon) eina_stringshare_del(cfd->icon); - if (cfd->cfdata) + if (cfd->view->free_cfdata) { cfd->view->free_cfdata(cfd, cfd->cfdata); cfd->cfdata = NULL; @@ -205,7 +205,7 @@ _e_config_dialog_go(E_Config_Dialog *cfd, E_Config_Dialog_CFData_Type type) cfd->dia->data = cfd; e_dialog_title_set(cfd->dia, cfd->title); cfdata = cfd->cfdata; - if (!cfd->cfdata) cfd->cfdata = cfd->view->create_cfdata(cfd); + if (cfd->view->create_cfdata && (!cfd->cfdata)) cfd->cfdata = cfd->view->create_cfdata(cfd); evas = e_win_evas_get(cfd->dia->win); if (type == E_CONFIG_DIALOG_CFDATA_TYPE_BASIC)