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" <[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