diff --git a/src/modules/everything/e_mod_main.h b/src/modules/everything/e_mod_main.h index da1abd2c5..d8dcaa729 100644 --- a/src/modules/everything/e_mod_main.h +++ b/src/modules/everything/e_mod_main.h @@ -154,8 +154,8 @@ int evry_history_item_usage_set(Eina_Hash *hist, Evry_Item *it, const char *inp EAPI int evry_browse_item(Evry_Selector *sel); void evry_browse_back(Evry_Selector *sel); -extern Config *evry_conf; -extern History *evry_hist; +EAPI extern Config *evry_conf; +EAPI extern History *evry_hist; extern Evry_Selector **selectors; extern Evry_Plugin *action_selector; #endif diff --git a/src/modules/everything/evry_plug_aggregator.c b/src/modules/everything/evry_plug_aggregator.c index 41db0a437..a5f0c8e68 100644 --- a/src/modules/everything/evry_plug_aggregator.c +++ b/src/modules/everything/evry_plug_aggregator.c @@ -107,6 +107,9 @@ _fetch(Evry_Plugin *plugin, const char *input) s = p->selector->state; + if (!s || !s->cur_plugins || !s->cur_plugins->next) + return 0; + for (i = 1; i < 3; i++) { Evry_Item *item; @@ -116,8 +119,7 @@ _fetch(Evry_Plugin *plugin, const char *input) context = item->context; } } - - + /* first is aggregator itself */ lp = s->cur_plugins->next; @@ -176,9 +178,7 @@ _fetch(Evry_Plugin *plugin, const char *input) } } - /* NOTE this is kind of weird. list_count returns 2 even if there is - only one item in list */ - if ((eina_list_count(lp) == 2) || (!EVRY_PLUGIN(p)->items)) + if (lp && (eina_list_count(lp) == 2) || (!EVRY_PLUGIN(p)->items)) { pp = lp->data; EINA_LIST_FOREACH(pp->items, l, it)