2
0
Эх сурвалжийг харах

Replace backslash with forward slash in OS_Windows path methods

(cherry picked from commit 119a59f872fb75c71b62425d367df72f9cc82cee)
miere43 4 жил өмнө
parent
commit
9a22f4b8df

+ 6 - 6
platform/windows/os_windows.cpp

@@ -3319,13 +3319,13 @@ String OS_Windows::get_config_path() const {
 	// The XDG Base Directory specification technically only applies on Linux/*BSD, but it doesn't hurt to support it on Windows as well.
 	if (has_environment("XDG_CONFIG_HOME")) {
 		if (get_environment("XDG_CONFIG_HOME").is_abs_path()) {
-			return get_environment("XDG_CONFIG_HOME");
+			return get_environment("XDG_CONFIG_HOME").replace("\\", "/");
 		} else {
 			WARN_PRINT_ONCE("`XDG_CONFIG_HOME` is a relative path. Ignoring its value and falling back to `%APPDATA%` or `.` per the XDG Base Directory specification.");
 		}
 	}
 	if (has_environment("APPDATA")) {
-		return get_environment("APPDATA");
+		return get_environment("APPDATA").replace("\\", "/");
 	}
 	return ".";
 }
@@ -3334,7 +3334,7 @@ String OS_Windows::get_data_path() const {
 	// The XDG Base Directory specification technically only applies on Linux/*BSD, but it doesn't hurt to support it on Windows as well.
 	if (has_environment("XDG_DATA_HOME")) {
 		if (get_environment("XDG_DATA_HOME").is_abs_path()) {
-			return get_environment("XDG_DATA_HOME");
+			return get_environment("XDG_DATA_HOME").replace("\\", "/");
 		} else {
 			WARN_PRINT_ONCE("`XDG_DATA_HOME` is a relative path. Ignoring its value and falling back to `get_config_path()` per the XDG Base Directory specification.");
 		}
@@ -3346,13 +3346,13 @@ String OS_Windows::get_cache_path() const {
 	// The XDG Base Directory specification technically only applies on Linux/*BSD, but it doesn't hurt to support it on Windows as well.
 	if (has_environment("XDG_CACHE_HOME")) {
 		if (get_environment("XDG_CACHE_HOME").is_abs_path()) {
-			return get_environment("XDG_CACHE_HOME");
+			return get_environment("XDG_CACHE_HOME").replace("\\", "/");
 		} else {
 			WARN_PRINT_ONCE("`XDG_CACHE_HOME` is a relative path. Ignoring its value and falling back to `%TEMP%` or `get_config_path()` per the XDG Base Directory specification.");
 		}
 	}
 	if (has_environment("TEMP")) {
-		return get_environment("TEMP");
+		return get_environment("TEMP").replace("\\", "/");
 	}
 	return get_config_path();
 }
@@ -3395,7 +3395,7 @@ String OS_Windows::get_system_dir(SystemDir p_dir) const {
 	PWSTR szPath;
 	HRESULT res = SHGetKnownFolderPath(id, 0, NULL, &szPath);
 	ERR_FAIL_COND_V(res != S_OK, String());
-	String path = String(szPath);
+	String path = String(szPath).replace("\\", "/");
 	CoTaskMemFree(szPath);
 	return path;
 }