From 19f62d331c04711536c283f21e96b7ff20d0257f Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 30 Jan 2018 03:59:47 +0100 Subject: [PATCH] Fix plugin factory tags * tag-file is loaded early on (before scanning plugin) retain factory set tag from file, don't use plugin-categories. * load user plugin-tag file after factory plugin-tag file --- libs/ardour/plugin_manager.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index eaf5eede9c..e1d8110076 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -1550,7 +1550,7 @@ PluginManager::load_tags () vector tmp; find_files_matching_pattern (tmp, plugin_metadata_search_path (), "plugin_tags"); - for (vector::const_iterator p = tmp.begin (); p != tmp.end(); ++p) { + for (vector::const_reverse_iterator p = tmp.rbegin (); p != tmp.rend(); ++p) { std::string path = *p; info << string_compose (_("Loading plugin meta data file %1"), path) << endmsg; if (!Glib::file_test (path, Glib::FILE_TEST_EXISTS)) { @@ -1591,7 +1591,7 @@ PluginManager::set_tags (PluginType t, string id, string tag, bool factory, bool if (i == ptags.end()) { ptags.insert (ps); } else { - if (!(*i).user_set || force || ((*i).user_set && !factory)) { + if (force || ((*i).user_set && !factory)) { ptags.erase (ps); ptags.insert (ps); }