if (p->trigger) eina_stringshare_del(p->trigger);
if (p->icon) eina_stringshare_del(p->icon);
- if (!free_pointer)
- return;
- else if (p->free)
+ if (p->free)
p->free(p);
+ else if (!free_pointer)
+ return;
else
E_FREE(p);
}
if (list->visible && (sel == selector))
_evry_view_clear(sel->state);
-
- evry_plugin_free(sel->aggregator, 1);
while (sel->states)
_evry_state_pop(sel);
+ if (sel->aggregator)
+ evry_plugin_free(sel->aggregator, 1);
+
if (sel->actions)
evry_plug_actions_free(sel->actions);
e_config_domain_save("module.everything.history", hist_edd, evry_hist);
+ eina_hash_foreach(evry_hist->subjects, _hist_free_cb, NULL);
+ eina_hash_foreach(evry_hist->actions, _hist_free_cb, NULL);
+ eina_hash_free(evry_hist->subjects);
+ eina_hash_free(evry_hist->actions);
+
E_FREE(evry_hist);
evry_hist = NULL;
}
static void
_cleanup(Evry_Plugin *plugin)
{
- EVRY_PLUGIN_ITEMS_FREE(plugin);
+ Evry_Item *it;
+ EINA_LIST_FREE(plugin->items, it)
+ evry_item_free(it);
}
static Evas_Object *
{
PLUGIN(p, plugin);
+ E_FREE(plugin->config);
E_FREE(p);
}