--- 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;
}