update gadget config advanced view to play more nicely with the basic view

SVN revision: 76238
This commit is contained in:
Mike Blumenkrantz 2012-09-06 11:53:28 +00:00
parent 3a3ac64542
commit 09aecfb7a4
1 changed files with 8 additions and 1 deletions

View File

@ -444,6 +444,14 @@ _cb_del_advanced(void *data, void *data2 __UNUSED__)
{ {
if (cf_gcc->id == cfdata->sel) if (cf_gcc->id == cfdata->sel)
{ {
CFGadget *gad;
if ((gad = eina_hash_find(cfdata->gadget_hash, cf_gcc->id)))
{
eina_hash_del(cfdata->gadget_hash, gad->id, gad);
if (gad->name) eina_stringshare_del(gad->name);
if (gad->id) eina_stringshare_del(gad->id);
E_FREE(gad);
}
e_gadcon_client_config_del(cfdata->gc->cf, cf_gcc); e_gadcon_client_config_del(cfdata->gc->cf, cf_gcc);
e_gadcon_unpopulate(cfdata->gc); e_gadcon_unpopulate(cfdata->gc);
e_gadcon_populate(cfdata->gc); e_gadcon_populate(cfdata->gc);
@ -549,7 +557,6 @@ static Eina_Bool
_cb_gcc_add(E_Config_Dialog_Data *cfdata, int type __UNUSED__, E_Event_Gadcon_Client_Add *ev) _cb_gcc_add(E_Config_Dialog_Data *cfdata, int type __UNUSED__, E_Event_Gadcon_Client_Add *ev)
{ {
if (cfdata->advanced.o_list) if (cfdata->advanced.o_list)
_list_item_add_advanced(cfdata, ev->gcc, ev->gcc->cf); _list_item_add_advanced(cfdata, ev->gcc, ev->gcc->cf);
return ECORE_CALLBACK_PASS_ON; return ECORE_CALLBACK_PASS_ON;
} }