forked from pool/MozillaFirefox
32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
|
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)
|
||
|
{
|