Prevent duplicate search paths
This fixes an issue with VST3 plugins being listed up multiple times if a user also explicitly adds standard built-in search paths.
This commit is contained in:
parent
5fad7e03b2
commit
a974a3135e
@ -25,6 +25,7 @@
|
|||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
#include <glibmm/miscutils.h>
|
#include <glibmm/miscutils.h>
|
||||||
|
|
||||||
|
#include "pbd/replace_all.h"
|
||||||
#include "pbd/tokenizer.h"
|
#include "pbd/tokenizer.h"
|
||||||
#include "pbd/search_path.h"
|
#include "pbd/search_path.h"
|
||||||
#include "pbd/error.h"
|
#include "pbd/error.h"
|
||||||
@ -83,7 +84,7 @@ Searchpath::add_directory (const std::string& directory_path)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (vector<std::string>::const_iterator i = begin(); i != end(); ++i) {
|
for (vector<std::string>::const_iterator i = begin(); i != end(); ++i) {
|
||||||
if (*i == directory_path) {
|
if (poor_mans_glob (*i) == poor_mans_glob(directory_path)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -116,7 +117,9 @@ Searchpath::to_string () const
|
|||||||
Searchpath&
|
Searchpath&
|
||||||
Searchpath::operator+= (const Searchpath& spath)
|
Searchpath::operator+= (const Searchpath& spath)
|
||||||
{
|
{
|
||||||
insert(end(), spath.begin(), spath.end());
|
for (vector<std::string>::const_iterator i = spath.begin(); i != spath.end(); ++i) {
|
||||||
|
add_directory (*i);
|
||||||
|
}
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user