summaryrefslogtreecommitdiffstats
path: root/mozilla-791626.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mozilla-791626.patch')
-rw-r--r--mozilla-791626.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/mozilla-791626.patch b/mozilla-791626.patch
new file mode 100644
index 0000000..c2e77ab
--- /dev/null
+++ b/mozilla-791626.patch
@@ -0,0 +1,46 @@
+# HG changeset patch
+# Parent 3523e7f7a89d7933c5f1dc8f5f22559b48ec44c4
+diff --git a/netwerk/base/src/nsIOService.cpp b/netwerk/base/src/nsIOService.cpp
+--- a/netwerk/base/src/nsIOService.cpp
++++ b/netwerk/base/src/nsIOService.cpp
+@@ -818,17 +818,18 @@ nsIOService::PrefsChanged(nsIPrefBranch
+ if (NS_SUCCEEDED(rv)) {
+ if (mSocketTransportService)
+ mSocketTransportService->SetAutodialEnabled(enableAutodial);
+ }
+ }
+
+ if (!pref || strcmp(pref, MANAGE_OFFLINE_STATUS_PREF) == 0) {
+ bool manage;
+- if (NS_SUCCEEDED(prefs->GetBoolPref(MANAGE_OFFLINE_STATUS_PREF,
++ if (mNetworkLinkServiceInitialized &&
++ NS_SUCCEEDED(prefs->GetBoolPref(MANAGE_OFFLINE_STATUS_PREF,
+ &manage)))
+ SetManageOfflineStatus(manage);
+ }
+
+ if (!pref || strcmp(pref, NECKO_BUFFER_CACHE_COUNT_PREF) == 0) {
+ int32_t count;
+ if (NS_SUCCEEDED(prefs->GetIntPref(NECKO_BUFFER_CACHE_COUNT_PREF,
+ &count)))
+@@ -928,16 +929,20 @@ nsIOService::Observe(nsISupports *subjec
+ }
+ else if (!strcmp(topic, kProfileDoChange)) {
+ if (data && NS_LITERAL_STRING("startup").Equals(data)) {
+ // Lazy initialization of network link service (see bug 620472)
+ InitializeNetworkLinkService();
+ // Set up the initilization flag regardless the actuall result.
+ // If we fail here, we will fail always on.
+ mNetworkLinkServiceInitialized = true;
++ // And now reflect the preference setting
++ nsCOMPtr<nsIPrefBranch> prefBranch;
++ GetPrefBranch(getter_AddRefs(prefBranch));
++ PrefsChanged(prefBranch, MANAGE_OFFLINE_STATUS_PREF);
+ }
+ }
+ else if (!strcmp(topic, NS_XPCOM_SHUTDOWN_OBSERVER_ID)) {
+ // Remember we passed XPCOM shutdown notification to prevent any
+ // changes of the offline status from now. We must not allow going
+ // online after this point.
+ mShutdown = true;
+