mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-10-31 15:20:10 +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.
(cherry picked from commit c059ce0c97
)
This commit is contained in:
parent
63ed5de957
commit
0b226865d5
@ -88,6 +88,8 @@ static void FillValidSearchPaths(bool only_local_path)
|
||||
|
||||
btree::btree_set<std::string_view> 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.
|
||||
@ -106,6 +108,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