Canonifying internal order for plugins and their components to make it

deterministic.
This commit is contained in:
Robin Sommer 2013-07-17 17:31:16 -07:00
parent 57b05a2989
commit d8801bb9c4
8 changed files with 41 additions and 17 deletions

View file

@ -30,9 +30,18 @@ bool Manager::LoadPluginsFrom(const std::string& dir)
return false;
}
static bool plugin_cmp(const Plugin* a, const Plugin* b)
{
return a->Name() < b->Name();
}
bool Manager::RegisterPlugin(Plugin *plugin)
{
Manager::PluginsInternal()->push_back(plugin);
// Sort plugins by name to make sure we have a deterministic order.
PluginsInternal()->sort(plugin_cmp);
return true;
}