From: Dave A. <da...@gu...> - 2008-11-09 08:32:46
|
I reply to myself... changed idea :) I'm not so sure that this is the proper fix, I think we need the id_del() function, it's not so good to keep the config of every module forever. Maybe the real problem is that E should not call id_del() when just a gc_shutdown() is needed.... is there a reason to call id_del on every shoutdown? Dave ----- "Dave Andreoli" <da...@gu...> ha scritto: > yes, better now :) > Dave > > ----- "Enlightenment SVN" <no-...@en...> ha scritto: > > > Log: > > Proper fix for not using _gc_id_del. > > > > > > Author: devilhorns > > Date: 2008-11-08 22:50:49 -0800 (Sat, 08 Nov 2008) > > New Revision: 37558 > > > > Modified: > > trunk/E-MODULES-EXTRA/skel/src/e_mod_main.c > > > > Modified: trunk/E-MODULES-EXTRA/skel/src/e_mod_main.c > > =================================================================== > > --- trunk/E-MODULES-EXTRA/skel/src/e_mod_main.c 2008-11-09 06:09:53 > > UTC (rev 37557) > > +++ trunk/E-MODULES-EXTRA/skel/src/e_mod_main.c 2008-11-09 06:50:49 > > UTC (rev 37558) > > @@ -7,7 +7,6 @@ > > static void _gc_orient(E_Gadcon_Client *gcc, E_Gadcon_Orient > > orient); > > static char *_gc_label(E_Gadcon_Client_Class *client_class); > > static const char *_gc_id_new(E_Gadcon_Client_Class > *client_class); > > -static void _gc_id_del(E_Gadcon_Client_Class *client_class, const > > char *id); > > static Evas_Object *_gc_icon(E_Gadcon_Client_Class *client_class, > > Evas *evas); > > > > static void _skel_conf_new(void); > > @@ -46,7 +45,7 @@ > > { > > GADCON_CLIENT_CLASS_VERSION, "skel", > > {_gc_init, _gc_shutdown, _gc_orient, _gc_label, _gc_icon, > > - _gc_id_new, _gc_id_del}, > > + _gc_id_new, NULL}, > > E_GADCON_CLIENT_STYLE_PLAIN > > }; > > > > @@ -54,7 +53,7 @@ > > > > /* > > * Module Functions > > -*/ > > + */ > > EAPI void * > > e_modapi_init(E_Module *m) > > { > > @@ -73,7 +72,6 @@ > > NULL, buf, > > e_int_config_skel_module); > > > > /* Define EET Data Storage */ > > - > > conf_item_edd = E_CONFIG_DD_NEW("Config_Item", Config_Item); > > #undef T > > #undef D > > @@ -178,12 +176,15 @@ > > > > /* Grab an item from the list */ > > ci = skel_conf->conf_items->data; > > + > > /* remove it */ > > skel_conf->conf_items = > > eina_list_remove_list(skel_conf->conf_items, > > skel_conf->conf_items); > > - /* cleanup stringshares !! ) */ > > + > > + /* cleanup stringshares */ > > if (ci->id) eina_stringshare_del(ci->id); > > + > > /* keep the planet green */ > > E_FREE(ci); > > } > > @@ -298,26 +299,6 @@ > > return ci->id; > > } > > > > -/* gets called when container says remove this item */ > > -static void > > -_gc_id_del(E_Gadcon_Client_Class *client_class, const char *id) > > -{ > > -/* yes - don't do this. on shutdown gadgets are deleted and this > > means config > > - * for them is deleted - that means empty config is saved. keep > them > > around > > - * as if u add a gadget back it can pick up its old config again > > - * > > - Config_Item *ci = NULL; > > - printf("SKEL ID_DEL: [%s]\n", id); > > - if (!(ci = _skel_conf_item_get(id))) return; > > - > > - // cleanup !! > > - if (ci->id) eina_stringshare_del(ci->id); > > - > > - skel_conf->conf_items = eina_list_remove(skel_conf->conf_items, > > ci); > > - E_FREE(ci); > > - */ > > -} > > - > > static Evas_Object * > > _gc_icon(E_Gadcon_Client_Class *client_class, Evas *evas) > > { > > > > > > > ------------------------------------------------------------------------- > > This SF.Net email is sponsored by the Moblin Your Move Developer's > > challenge > > Build the coolest Linux based applications with Moblin SDK & win > great > > prizes > > Grand prize is a trip for two to an Open Source event anywhere in > the > > world > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > _______________________________________________ > > enlightenment-svn mailing list > > enl...@li... > > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the > world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > enlightenment-devel mailing list > enl...@li... > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel |