Minor changes. Using service manager returned from NS_InitXPCOM.

git-svn-id: svn://10.0.0.236/trunk@75295 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
dougt%netscape.com
2000-08-01 01:37:44 +00:00
parent b62c0ba2a1
commit ad72d6a7d0

View File

@@ -65,9 +65,6 @@ static XPCOMCleanupHack sXPCOMCleanupHack;
extern "C" void NS_SetupRegistry();
static NS_DEFINE_IID(kEventQueueServiceCID, NS_EVENTQUEUESERVICE_CID);
static NS_DEFINE_IID(kStringBundleServiceCID, NS_STRINGBUNDLESERVICE_CID);
nsresult NS_InitEmbedding(const char *aPath)
{
@@ -99,10 +96,10 @@ nsresult NS_InitEmbedding(nsILocalFile *aPath)
#endif
{
// Initialise XPCOM
if (aPath)
NS_InitXPCOM(&sServiceManager, aPath);
else
NS_InitXPCOM(&sServiceManager, nsnull);
NS_InitXPCOM(&sServiceManager, aPath);
if (!sServiceManager)
return NS_ERROR_NULL_POINTER;
#ifdef HACK_AROUND_NONREENTRANT_INITXPCOM
sXPCOMInitializedFlag = PR_TRUE;
@@ -133,8 +130,11 @@ nsresult NS_InitEmbedding(nsILocalFile *aPath)
//
// If an event queue already exists for the thread, then
// CreateThreadEventQueue(...) will fail...
NS_WITH_SERVICE(nsIEventQueueService, eventQService,
kEventQueueServiceCID, &rv);
// CreateThread0ueue(...) will fail...
nsCOMPtr<nsIEventQueueService> eventQService;
rv = sServiceManager->GetService(NS_EVENTQUEUESERVICE_PROGID,
nsIEventQueueService::GetIID(),
getter_AddRefs(eventQService));
if (NS_FAILED(rv))
return rv;
@@ -142,8 +142,10 @@ nsresult NS_InitEmbedding(nsILocalFile *aPath)
#ifdef HACK_AROUND_THREADING_ISSUES
// XXX force certain objects to be created on the main thread
NS_WITH_SERVICE(nsIStringBundleService, sBundleService,
kStringBundleServiceCID, &rv);
nsCOMPtr<nsIStringBundleService> sBundleService;
rv = sServiceManager->GetService(NS_STRINGBUNDLE_PROGID,
nsIStringBundleService::GetIID(),
getter_AddRefs(sBundleService));
if (NS_SUCCEEDED(rv))
{
nsCOMPtr<nsIStringBundle> stringBundle;
@@ -155,8 +157,10 @@ nsresult NS_InitEmbedding(nsILocalFile *aPath)
#endif
// Init the chrome registry.
nsCOMPtr <nsIChromeRegistry> chromeReg =
do_GetService("component://netscape/chrome/chrome-registry");
nsCOMPtr<nsIChromeRegistry> chromeReg;
rv = sServiceManager->GetService("component://netscape/chrome/chrome-registry",
nsIChromeRegistry::GetIID(),
getter_AddRefs(chromeReg));
NS_ASSERTION(chromeReg, "chrome check couldn't get the chrome registry");
if (!chromeReg)
@@ -180,12 +184,12 @@ nsresult NS_TermEmbedding()
}
sInitCounter = 0;
nsresult rv;
// Destroy the event queue
NS_WITH_SERVICE(nsIEventQueueService, eventQService,
kEventQueueServiceCID, &rv);
if (NS_SUCCEEDED(rv))
rv = eventQService->DestroyThreadEventQueue();
nsCOMPtr<nsIEventQueueService> eventQService;
sServiceManager->GetService(NS_EVENTQUEUESERVICE_PROGID,
nsIEventQueueService::GetIID(),
getter_AddRefs(eventQService));
if (eventQService)
eventQService->DestroyThreadEventQueue();
NS_RELEASE(sServiceManager);