37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
|
Replace "/usr/lib/mozilla" (the system-wide directory for extensions and
|
||
|
native manifests) with "$ICECAT_SYSTEM_DIR".
|
||
|
|
||
|
--- a/toolkit/xre/nsXREDirProvider.cpp
|
||
|
+++ b/toolkit/xre/nsXREDirProvider.cpp
|
||
|
@@ -293,24 +293,12 @@ nsresult nsXREDirProvider::GetBackgroundTasksProfilesRootDir(
|
||
|
static nsresult GetSystemParentDirectory(nsIFile** aFile) {
|
||
|
nsresult rv;
|
||
|
nsCOMPtr<nsIFile> localDir;
|
||
|
-# if defined(XP_MACOSX)
|
||
|
- rv = GetOSXFolderType(kOnSystemDisk, kApplicationSupportFolderType,
|
||
|
- getter_AddRefs(localDir));
|
||
|
- if (NS_SUCCEEDED(rv)) {
|
||
|
- rv = localDir->AppendNative("Mozilla"_ns);
|
||
|
- }
|
||
|
-# else
|
||
|
- constexpr auto dirname =
|
||
|
-# ifdef HAVE_USR_LIB64_DIR
|
||
|
- "/usr/lib64/mozilla"_ns
|
||
|
-# elif defined(__OpenBSD__) || defined(__FreeBSD__)
|
||
|
- "/usr/local/lib/mozilla"_ns
|
||
|
-# else
|
||
|
- "/usr/lib/mozilla"_ns
|
||
|
-# endif
|
||
|
- ;
|
||
|
- rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir));
|
||
|
-# endif
|
||
|
+
|
||
|
+ const char* systemParentDir = getenv("ICECAT_SYSTEM_DIR");
|
||
|
+ if (!systemParentDir || !*systemParentDir) return NS_ERROR_FAILURE;
|
||
|
+
|
||
|
+ rv = NS_NewNativeLocalFile(nsDependentCString(systemParentDir), false,
|
||
|
+ getter_AddRefs(localDir));
|
||
|
|
||
|
if (NS_SUCCEEDED(rv)) {
|
||
|
localDir.forget(aFile);
|