mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-10 08:00:05 +00:00
Some of our code ignores the SP_WORKING_DIR for some actions, which means that if, for example, your SP_BINARY_DIR is the same as your SP_WORKING_DIR, neither is scanned. Instead, only add SP_WORKING_DIR if it is unique.
This commit is contained in:
parent
db6b32e421
commit
c059ce0c97
@ -87,6 +87,8 @@ static void FillValidSearchPaths(bool only_local_path)
|
|||||||
|
|
||||||
std::set<std::string> seen{};
|
std::set<std::string> seen{};
|
||||||
for (Searchpath sp = SP_FIRST_DIR; sp < NUM_SEARCHPATHS; sp++) {
|
for (Searchpath sp = SP_FIRST_DIR; sp < NUM_SEARCHPATHS; sp++) {
|
||||||
|
if (sp == SP_WORKING_DIR) continue;
|
||||||
|
|
||||||
if (only_local_path) {
|
if (only_local_path) {
|
||||||
switch (sp) {
|
switch (sp) {
|
||||||
case SP_WORKING_DIR: // Can be influence by "-c" option.
|
case SP_WORKING_DIR: // Can be influence by "-c" option.
|
||||||
@ -105,6 +107,13 @@ static void FillValidSearchPaths(bool only_local_path)
|
|||||||
_valid_searchpaths.emplace_back(sp);
|
_valid_searchpaths.emplace_back(sp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* The working-directory is special, as it is controlled by _do_scan_working_directory.
|
||||||
|
* Only add the search path if it isn't already in the set. To preserve the same order
|
||||||
|
* as the enum, insert it in the front. */
|
||||||
|
if (IsValidSearchPath(SP_WORKING_DIR) && seen.count(_searchpaths[SP_WORKING_DIR]) == 0) {
|
||||||
|
_valid_searchpaths.insert(_valid_searchpaths.begin(), SP_WORKING_DIR);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user