From dfa7856b06674d7195f28551e3d831f2192699f5 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Wed, 19 Sep 2012 15:17:02 +0000 Subject: [PATCH] e17/modules/evry: this should be more correct, but i need to look into this again... SVN revision: 76872 --- src/modules/everything/e_mod_main.c | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/modules/everything/e_mod_main.c b/src/modules/everything/e_mod_main.c index df2664815..b9082ec1d 100644 --- a/src/modules/everything/e_mod_main.c +++ b/src/modules/everything/e_mod_main.c @@ -505,13 +505,28 @@ _config_free(void) IF_RELEASE(pc2->trigger); E_FREE(pc2); } - eina_stringshare_del(pc->name); - eina_stringshare_del(pc->trigger); - free(pc); + // collections become registered as SUBJECT + // plugin, therefore dont free pc here + } + + EINA_LIST_FREE (evry_conf->conf_subjects, pc) + { + IF_RELEASE(pc->name); + IF_RELEASE(pc->trigger); + E_FREE(pc); + } + EINA_LIST_FREE (evry_conf->conf_actions, pc) + { + IF_RELEASE(pc->name); + IF_RELEASE(pc->trigger); + E_FREE(pc); + } + EINA_LIST_FREE (evry_conf->conf_objects, pc) + { + IF_RELEASE(pc->name); + IF_RELEASE(pc->trigger); + E_FREE(pc); } - evry_conf->conf_subjects = eina_list_free(evry_conf->conf_subjects); - evry_conf->conf_actions = eina_list_free(evry_conf->conf_actions); - evry_conf->conf_objects = eina_list_free(evry_conf->conf_objects); EINA_LIST_FREE (evry_conf->conf_views, pc) { IF_RELEASE(pc->name);