mirror of
https://gitdl.cn/https://github.com/chakralinux/gtk.git
synced 2025-01-24 01:42:13 +08:00
36 lines
1.6 KiB
Diff
36 lines
1.6 KiB
Diff
From: Luca Giambonini <almack@chakraos.org> (Original author: 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 --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
|
|
@@ -58,13 +58,17 @@ nsUnixSystemProxySettings::GetMainThread
|
|
nsresult
|
|
nsUnixSystemProxySettings::Init()
|
|
{
|
|
- 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);
|
|
+ // only use GSettings if that is a GNOME session
|
|
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
|
|
+ if (sessionType && !strcmp(sessionType, "gnome")) {
|
|
+ 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;
|