# 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 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;