diff options
Diffstat (limited to 'libs/ardour')
-rw-r--r-- | libs/ardour/ardour/plugin_manager.h | 2 | ||||
-rw-r--r-- | libs/ardour/plugin_manager.cc | 10 |
2 files changed, 9 insertions, 3 deletions
diff --git a/libs/ardour/ardour/plugin_manager.h b/libs/ardour/ardour/plugin_manager.h index f9b6feb737..a66e2d0674 100644 --- a/libs/ardour/ardour/plugin_manager.h +++ b/libs/ardour/ardour/plugin_manager.h @@ -92,7 +92,7 @@ public: FromGui // ... from the UI, in realtime: will emit a signal so ui can show "sanitized" string as it is generated }; void set_tags (ARDOUR::PluginType type, std::string unique_id, std::string tags, std::string name, TagType tagtype); - void reset_tags (PluginInfoPtr const&, TagType); + void reset_tags (PluginInfoPtr const&); std::string get_tags_as_string (PluginInfoPtr const&) const; std::vector<std::string> get_tags (PluginInfoPtr const&) const; diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index 00a89f2d79..9713a241e2 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -1622,9 +1622,15 @@ PluginManager::set_tags (PluginType t, string id, string tag, std::string name, } void -PluginManager::reset_tags (PluginInfoPtr const& pi, TagType tt) +PluginManager::reset_tags (PluginInfoPtr const& pi) { - set_tags (pi->type, pi->unique_id, pi->category, pi->name, tt); + PluginTag ps (pi->type, pi->unique_id, pi->category, pi->name, FromPlug); + + PluginTagList::const_iterator i = find (ptags.begin(), ptags.end(), ps); + if (i != ptags.end()) { + ptags.erase (ps); + ptags.insert (ps); + } } std::string |