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{};
|
||||
for (Searchpath sp = SP_FIRST_DIR; sp < NUM_SEARCHPATHS; sp++) {
|
||||
if (sp == SP_WORKING_DIR) continue;
|
||||
|
||||
if (only_local_path) {
|
||||
switch (sp) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
/* 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