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;
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)