diff -r 4c248180e576 -r 840132a4a9b3 mozilla-nongnome-proxies.patch --- a/mozilla-nongnome-proxies.patch Mon Jul 08 12:56:52 2019 +0200 +++ b/mozilla-nongnome-proxies.patch Wed Jul 10 08:14:34 2019 +0200 @@ -1,20 +1,19 @@ -From: Wolfgang Rosenauer -Subject: Do not use gconf for proxy settings if not running within Gnome - +# HG changeset patch +# User Wolfgang Rosenauer +# Date 1558442915 -7200 +# Tue May 21 14:48:35 2019 +0200 +# Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5 +# Parent 4c434d19d03d5461e54fa22dfb82eaed4cd6631b +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 -@@ -57,24 +57,27 @@ NS_IMETHODIMP - nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) { - // dbus prevents us from being threadsafe, but this routine should not block - // anyhow - *aMainThreadOnly = true; - return NS_OK; +diff -r 4c434d19d03d -r 6bcf2dfebc1e toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp +--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Wed Jun 12 17:43:18 2019 +0000 ++++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Tue May 21 14:48:35 2019 +0200 +@@ -55,11 +55,14 @@ } void nsUnixSystemProxySettings::Init() { @@ -23,25 +22,14 @@ - 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); ++ mGSettings->GetCollectionForSchema( ++ NS_LITERAL_CSTRING("org.gnome.system.proxy"), ++ getter_AddRefs(mProxySettings)); + } } } - bool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) { - nsAutoCString mode; - return NS_SUCCEEDED(mGConf->GetString( - NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) && - mode.EqualsASCII(aMode);