diff --git a/Source/Engine/Platform/Base/StringUtilsBase.cpp b/Source/Engine/Platform/Base/StringUtilsBase.cpp index 4b2708b4c..7e245b4b3 100644 --- a/Source/Engine/Platform/Base/StringUtilsBase.cpp +++ b/Source/Engine/Platform/Base/StringUtilsBase.cpp @@ -261,7 +261,7 @@ void StringUtils::PathRemoveRelativeParts(String& path) path.Clear(); for (auto& e : stack) path /= e; - if (isRooted) + if (isRooted && path[0] != '/') path.Insert(0, TEXT("/")); } diff --git a/Source/Engine/Utilities/StringUtils.cs b/Source/Engine/Utilities/StringUtils.cs index 057dd9b86..cb04afbfc 100644 --- a/Source/Engine/Utilities/StringUtils.cs +++ b/Source/Engine/Utilities/StringUtils.cs @@ -227,7 +227,7 @@ namespace FlaxEngine bool isRooted = path.StartsWith("/"); string result = string.Join(Path.DirectorySeparatorChar.ToString(), stack.Reverse()); - if (isRooted) + if (isRooted && result[0] != '/') result = result.Insert(0, "/"); return result; } diff --git a/Source/Tools/Flax.Build/Utilities/Utilities.cs b/Source/Tools/Flax.Build/Utilities/Utilities.cs index 2fe7b0fc4..98e1ac529 100644 --- a/Source/Tools/Flax.Build/Utilities/Utilities.cs +++ b/Source/Tools/Flax.Build/Utilities/Utilities.cs @@ -517,7 +517,7 @@ namespace Flax.Build bool isRooted = path.StartsWith("/"); string result = string.Join(Path.DirectorySeparatorChar.ToString(), stack.Reverse()); - if (isRooted) + if (isRooted && result[0] != '/') result = result.Insert(0, "/"); return result; }