diff options
author | Robin Gareus <robin@gareus.org> | 2016-01-08 21:12:48 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-01-08 21:12:48 +0100 |
commit | b3a1ea664ef8744f09cf21afc0608eb160957127 (patch) | |
tree | a33da33da46b56fe562edfb6f90c9d7eb19d997f | |
parent | 2ce0cf72959661597aea5d09ce5928aaa7e44587 (diff) |
fix favorite plugin sort (after plugin-scan)
-rw-r--r-- | gtk2_ardour/mixer_ui.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 6384a7bf6a..02c4c1cb86 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -2255,11 +2255,13 @@ Mixer_UI::refiller (PluginInfoList& result, const PluginInfoList& plugs) struct PluginCustomSorter { public: bool operator() (PluginInfoPtr a, PluginInfoPtr b) const { - PluginInfoList::const_iterator aiter = std::find(_user.begin(), _user.end(), a); - PluginInfoList::const_iterator biter = std::find(_user.begin(), _user.end(), b); + PluginInfoList::const_iterator aiter = _user.begin(); + PluginInfoList::const_iterator biter = _user.begin(); + while (aiter != _user.end()) { if ((*aiter)->name == a->name) { break; } ++aiter; } + while (biter != _user.end()) { if ((*biter)->name == b->name) { break; } ++biter; } if (aiter != _user.end() && biter != _user.end()) { - return std::distance (_user.begin(), aiter) < std::distance (_user.begin(), biter); + return std::distance (_user.begin(), aiter) < std::distance (_user.begin(), biter); } if (aiter != _user.end()) { return true; |