From: Christopher M. <cpm...@co...> - 2008-11-09 17:55:31
|
It is the proper fix. If we don't want to delete the config then there is no need to use _gc_id_del. dh Dave Andreoli wrote: > 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 > |