summaryrefslogtreecommitdiff
path: root/waterfox-g/debian/patches/nongnome-proxies.patch
blob: 5eaf79d5809df0413dd230d7538bf8c5e5c86164 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
From: Wolfgang Rosenauer
Subject: Do not use gconf for proxy settings if not running within Gnome

diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -49,20 +49,24 @@ NS_IMETHODIMP
 nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
   // dbus prevents us from being threadsafe, but this routine should not block
   // anyhow
   *aMainThreadOnly = true;
   return NS_OK;
 }
 
 void nsUnixSystemProxySettings::Init() {
-  mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
-  if (mGSettings) {
-    mGSettings->GetCollectionForSchema("org.gnome.system.proxy"_ns,
-                                       getter_AddRefs(mProxySettings));
+  const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+  if (sessionType && !strcmp(sessionType, "gnome")) {
+    mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+    if (mGSettings) {
+      mGSettings->GetCollectionForSchema(
+          "org.gnome.system.proxy"_ns,
+          getter_AddRefs(mProxySettings));
+    }
   }
 }
 
 nsresult nsUnixSystemProxySettings::GetPACURI(nsACString& aResult) {
   if (mProxySettings) {
     nsCString proxyMode;
     // Check if mode is auto
     nsresult rv = mProxySettings->GetString("mode"_ns, proxyMode);
bgstack15