47 lines
2.1 KiB
Diff
47 lines
2.1 KiB
Diff
# 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;
|
|
|