diff --git a/xpinstall/src/nsXPInstallManager.cpp b/xpinstall/src/nsXPInstallManager.cpp index 86744c664ba..3de44c57352 100644 --- a/xpinstall/src/nsXPInstallManager.cpp +++ b/xpinstall/src/nsXPInstallManager.cpp @@ -121,10 +121,6 @@ nsXPInstallManager::nsXPInstallManager() // initialize mLastUpdate to the current time mLastUpdate = PR_Now(); - - nsCOMPtr os(do_GetService("@mozilla.org/observer-service;1")); - if (os) - os->AddObserver(this, XPI_PROGRESS_TOPIC, PR_TRUE); } @@ -178,6 +174,10 @@ nsXPInstallManager::InitManagerWithHashes(const PRUnichar **aURLs, mNeedsShutdown = PR_TRUE; + nsCOMPtr os(do_GetService("@mozilla.org/observer-service;1")); + if (os) + os->AddObserver(this, XPI_PROGRESS_TOPIC, PR_TRUE); + for (PRUint32 i = 0; i < aURLCount; ++i) { nsXPITriggerItem* item = new nsXPITriggerItem(0, aURLs[i], nsnull, @@ -341,6 +341,10 @@ nsXPInstallManager::InitManagerInternal() if (OKtoInstall) { + nsCOMPtr os(do_GetService("@mozilla.org/observer-service;1")); + if (os) + os->AddObserver(this, XPI_PROGRESS_TOPIC, PR_TRUE); + //----------------------------------------------------- // Open the progress dialog //-----------------------------------------------------