mozilla-nongnome-proxies.patch
changeset 650 e8c83b144fd1
parent 568 2c74c5927ea2
child 686 ab25aac2aa83
--- a/mozilla-nongnome-proxies.patch	Thu May 30 09:22:10 2013 +0200
+++ b/mozilla-nongnome-proxies.patch	Wed Jun 12 21:15:08 2013 +0200
@@ -9,7 +9,7 @@
 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
-@@ -50,22 +50,28 @@ nsUnixSystemProxySettings::GetMainThread
+@@ -50,24 +50,28 @@ nsUnixSystemProxySettings::GetMainThread
    // dbus prevents us from being threadsafe, but this routine should not block anyhow
    *aMainThreadOnly = true;
    return NS_OK;
@@ -19,25 +19,27 @@
  nsUnixSystemProxySettings::Init()
  {
 -  mSchemeProxySettings.Init(5);
--  mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
 -  mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
 -  if (mGSettings) {
 -    mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
 -                                       getter_AddRefs(mProxySettings));
-+  // If this is a GNOME session, load gconf and try to use its preferences.
-+  // If gconf is not available (which would be stupid) we'll proceed as if
-+  // this was not a GNOME session, using *_PROXY environment variables.
+-  }
+-  if (!mProxySettings) {
+-    mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
++  // only use GSettings if that is a GNOME session
 +  const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
 +  if (sessionType && !strcmp(sessionType, "gnome")) {
 +    mSchemeProxySettings.Init(5);
-+    mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
 +    mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
 +    if (mGSettings) {
 +      mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
 +                                         getter_AddRefs(mProxySettings));
 +    }
++    if (!mProxySettings) {
++      mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
++    }
    }
- 
+   
    return NS_OK;
  }