1 |
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp |
2 |
=================================================================== |
3 |
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v |
4 |
retrieving revision 1.1 |
5 |
diff -u -p -6 -r1.1 nsUnixSystemProxySettings.cpp |
6 |
--- toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 29 Jan 2008 15:58:41 -0000 1.1 |
7 |
+++ toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp 17 Apr 2008 19:02:19 -0000 |
8 |
@@ -69,13 +69,19 @@ private: |
9 |
|
10 |
NS_IMPL_ISUPPORTS1(nsUnixSystemProxySettings, nsISystemProxySettings) |
11 |
|
12 |
nsresult |
13 |
nsUnixSystemProxySettings::Init() |
14 |
{ |
15 |
- mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); |
16 |
+ // If this is a GNOME session, load gconf and try to use its preferences. |
17 |
+ // If gconf is not available (which would be stupid) we'll proceed as if |
18 |
+ // this was not a GNOME session, using *_PROXY environment variables. |
19 |
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION"); |
20 |
+ if (sessionType && !strcmp(sessionType, "gnome")) { |
21 |
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); |
22 |
+ } |
23 |
return NS_OK; |
24 |
} |
25 |
|
26 |
PRBool |
27 |
nsUnixSystemProxySettings::IsProxyMode(const char* aMode) |
28 |
{ |