From b3a1ea664ef8744f09cf21afc0608eb160957127 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 8 Jan 2016 21:12:48 +0100 Subject: fix favorite plugin sort (after plugin-scan) --- gtk2_ardour/mixer_ui.cc | 8 +++++--- 1 file 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; -- cgit v1.2.3