mozilla-nongnome-proxies.patch
changeset 0 ad87c5e85a41
child 8 19a8c8d53349
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-nongnome-proxies.patch	Sat Nov 28 13:56:10 2009 +0100
@@ -0,0 +1,32 @@
+From: Wolfgang Rosenauer
+Subject: Do not use gconf for proxy settings if not running within Gnome
+
+
+Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+===================================================================
+RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
+retrieving revision 1.1
+diff -u -p -6 -r1.1 nsUnixSystemProxySettings.cpp
+--- toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp	29 Jan 2008 15:58:41 -0000	1.1
++++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp	17 Apr 2008 19:02:19 -0000
+@@ -69,13 +69,19 @@ private:
+ 
+ NS_IMPL_ISUPPORTS1(nsUnixSystemProxySettings, nsISystemProxySettings)
+ 
+ nsresult
+ nsUnixSystemProxySettings::Init()
+ {
+-  mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
++  // 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.
++  const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
++  if (sessionType && !strcmp(sessionType, "gnome")) {
++    mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
++  }
+   return NS_OK;
+ }
+ 
+ PRBool
+ nsUnixSystemProxySettings::IsProxyMode(const char* aMode)
+ {