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" <[EMAIL PROTECTED]> ha scritto:

> yes, better now :)
> Dave
> 
> ----- "Enlightenment SVN" <[EMAIL PROTECTED]> 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
> > [EMAIL PROTECTED]
> > 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
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

-------------------------------------------------------------------------
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
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to