diff --git a/src/external-patches/manifest.json b/src/external-patches/manifest.json index 256ca76ea..5f4fefc33 100644 --- a/src/external-patches/manifest.json +++ b/src/external-patches/manifest.json @@ -20,10 +20,5 @@ // the parameter's help description with the correct one. "application": "Application" } - }, - { - "type": "patch", - "url": "https://codeberg.org/librewolf/source/raw/branch/main/patches/xdg-dir.patch", - "dest": "librewolf" } ] diff --git a/src/toolkit/xre/nsXREDirProvider-cpp.patch b/src/toolkit/xre/nsXREDirProvider-cpp.patch new file mode 100644 index 000000000..edf763696 --- /dev/null +++ b/src/toolkit/xre/nsXREDirProvider-cpp.patch @@ -0,0 +1,40 @@ +diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp +index 64456439499d449ce7f2861b1a5addbeecd61721..d0acdb3082b4805e2b8903f8044c97ddf29419bb 100644 +--- a/toolkit/xre/nsXREDirProvider.cpp ++++ b/toolkit/xre/nsXREDirProvider.cpp +@@ -1317,9 +1317,11 @@ nsresult nsXREDirProvider::AppendFromAppData(nsIFile* aFile, bool aIsDotted) { + // Similar to nsXREDirProvider::AppendProfilePath. + // TODO: Bug 1990407 - Evaluate if refactoring might be required there in the + // future? +- if (gAppData->profile) { ++ // Use aIsDotted for a different purpose here, will probably break in the future ++ if (gAppData->profile && aIsDotted) { + nsAutoCString profile; + profile = gAppData->profile; ++ profile = "."_ns + nsDependentCString(gAppData->profile); + MOZ_TRY(aFile->AppendRelativeNativePath(profile)); + } else { + nsAutoCString vendor; +@@ -1329,8 +1331,6 @@ nsresult nsXREDirProvider::AppendFromAppData(nsIFile* aFile, bool aIsDotted) { + ToLowerCase(vendor); + ToLowerCase(appName); + +- MOZ_TRY(aFile->AppendRelativeNativePath(aIsDotted ? ("."_ns + vendor) +- : vendor)); + MOZ_TRY(aFile->AppendRelativeNativePath(appName)); + } + +@@ -1498,13 +1498,8 @@ nsresult nsXREDirProvider::GetLegacyOrXDGHomePath(const char* aHomeDir, + + // If the build was made against a specific profile name, MOZ_APP_PROFILE= + // then make sure we respect this and dont move to XDG directory +- if (gAppData->profile) { +- MOZ_TRY(NS_NewNativeLocalFile(nsDependentCString(aHomeDir), +- getter_AddRefs(localDir))); +- } else { + MOZ_TRY(GetLegacyOrXDGConfigHome(aHomeDir, getter_AddRefs(localDir))); + MOZ_TRY(localDir->Clone(getter_AddRefs(parentDir))); +- } + + MOZ_TRY(AppendFromAppData(localDir, false)); + }