diff options
| author | t895 <clombardo169@gmail.com> | 2023-11-19 12:24:43 -0500 |
|---|---|---|
| committer | t895 <clombardo169@gmail.com> | 2023-11-21 01:58:13 -0500 |
| commit | f745e602ecce9575fee9cf73b6d190d0abb37a9b (patch) | |
| tree | 15f8bc2c39e262ced734497b54d349b5efaf60cb /src/frontend_common/config.cpp | |
| parent | c8177cfc1de02cbbd23518dc9aa85a1e8ec503cd (diff) | |
frontend_common: Add special config case for unmapped windows network drives
Normally we save paths with '/' as the delimiter for each segment but when you manually select a network drive instead of using a mapped location, this would break. This ensures that if the read filesystem location starts with '//', we keep that pattern.
Diffstat (limited to 'src/frontend_common/config.cpp')
| -rw-r--r-- | src/frontend_common/config.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/frontend_common/config.cpp b/src/frontend_common/config.cpp index 8eb62e8ef2..b3f4a54a44 100644 --- a/src/frontend_common/config.cpp +++ b/src/frontend_common/config.cpp @@ -856,7 +856,15 @@ std::string Config::AdjustKey(const std::string& key) { std::string Config::AdjustOutputString(const std::string& string) { std::string adjusted_string(string); boost::replace_all(adjusted_string, "\\", "/"); - boost::replace_all(adjusted_string, "//", "/"); + + // Windows requires that two forward slashes are used at the start of a path for unmapped + // network drives so we have to watch for that here + if (string.substr(0, 2) == "//") { + boost::replace_all(adjusted_string, "//", "/"); + adjusted_string.insert(0, "/"); + } else { + boost::replace_all(adjusted_string, "//", "/"); + } // Needed for backwards compatibility with QSettings deserialization for (const auto& special_character : special_characters) { |
