fix segv. action base plugin has no config

SVN revision: 48477
This commit is contained in:
Hannes Janetzek 2010-04-30 14:39:04 +00:00
parent c5aa274610
commit c607acb5b2
1 changed files with 27 additions and 19 deletions

View File

@ -42,18 +42,22 @@ _cb_sort_recent(const void *data1, const void *data2)
if (it2->usage && !it1->usage)
return 1;
if ((it1->plugin == it2->plugin) &&
(it1->priority - it2->priority))
if (it1->type != EVRY_TYPE_ACTION &&
it2->type != EVRY_TYPE_ACTION)
{
return (it1->priority - it2->priority);
if ((it1->plugin == it2->plugin) &&
(it1->priority - it2->priority))
{
return (it1->priority - it2->priority);
}
else if (it1->plugin->config->priority -
it2->plugin->config->priority)
{
return (it1->plugin->config->priority -
it2->plugin->config->priority);
}
}
else if (it1->plugin->config->priority -
it2->plugin->config->priority)
{
return (it1->plugin->config->priority -
it2->plugin->config->priority);
}
return strcmp(it1->label, it2->label);
return 1;
@ -114,16 +118,20 @@ _cb_sort(const void *data1, const void *data2)
return (it1->fuzzy_match - it2->fuzzy_match);
}
if ((it1->plugin == it2->plugin) &&
(it1->priority - it2->priority))
if (it1->type != EVRY_TYPE_ACTION &&
it2->type != EVRY_TYPE_ACTION)
{
return (it1->priority - it2->priority);
}
else if (it1->plugin->config->priority -
it2->plugin->config->priority)
{
return (it1->plugin->config->priority -
it2->plugin->config->priority);
if ((it1->plugin == it2->plugin) &&
(it1->priority - it2->priority))
{
return (it1->priority - it2->priority);
}
else if (it1->plugin->config->priority -
it2->plugin->config->priority)
{
return (it1->plugin->config->priority -
it2->plugin->config->priority);
}
}
return strcasecmp(it1->label, it2->label);