2011-06-01 08:05:09 +02:00
|
|
|
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
|
2012-02-01 14:37:15 +01:00
|
|
|
|
|
|
|
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
|
2019-05-24 12:52:31 +02:00
|
|
|
@@ -57,24 +57,27 @@ NS_IMETHODIMP
|
2019-01-29 19:07:12 +01:00
|
|
|
nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
|
|
|
|
// dbus prevents us from being threadsafe, but this routine should not block
|
|
|
|
// anyhow
|
2013-01-07 21:49:28 +01:00
|
|
|
*aMainThreadOnly = true;
|
|
|
|
return NS_OK;
|
|
|
|
}
|
2011-06-01 08:05:09 +02:00
|
|
|
|
2019-05-22 22:38:29 +02:00
|
|
|
void nsUnixSystemProxySettings::Init() {
|
2012-03-01 10:09:12 +01:00
|
|
|
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
2012-06-05 20:01:53 +02:00
|
|
|
- if (mGSettings) {
|
2019-01-29 19:07:12 +01:00
|
|
|
- mGSettings->GetCollectionForSchema(
|
|
|
|
- NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
|
|
|
- getter_AddRefs(mProxySettings));
|
2013-06-24 09:57:33 +02:00
|
|
|
- }
|
|
|
|
- if (!mProxySettings) {
|
|
|
|
- mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
|
|
|
+ // only use GSettings if that is a GNOME session
|
2011-06-01 08:05:09 +02:00
|
|
|
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
|
|
|
|
+ if (sessionType && !strcmp(sessionType, "gnome")) {
|
2012-03-01 10:09:12 +01:00
|
|
|
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
2012-06-05 20:01:53 +02:00
|
|
|
+ if (mGSettings) {
|
|
|
|
+ mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
|
|
|
+ getter_AddRefs(mProxySettings));
|
2013-06-24 09:57:33 +02:00
|
|
|
+ }
|
|
|
|
+ if (!mProxySettings) {
|
|
|
|
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
2012-06-05 20:01:53 +02:00
|
|
|
+ }
|
2019-05-24 12:52:31 +02:00
|
|
|
}
|
2011-06-01 08:05:09 +02:00
|
|
|
}
|
|
|
|
|
2019-01-29 19:07:12 +01:00
|
|
|
bool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) {
|
|
|
|
nsAutoCString mode;
|
|
|
|
return NS_SUCCEEDED(mGConf->GetString(
|
2019-05-22 22:38:29 +02:00
|
|
|
NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) &&
|
|
|
|
mode.EqualsASCII(aMode);
|