Ok, seems the XPCOM initialization method NS_InitXPCOM2/NS_InitXPCOM3
get's called twice when starting up. I've changed the code in the
viewer project to only get called once.
Change made to nsViewerApp.cpp:
nsresult
nsViewerApp::SetupRegistry()
{
nsresult rv;
nsCOMPtr<nsIServiceManager> servManager;
rv = NS_GetServiceManager(getter_AddRefs(servManager));
//rv = NS_InitXPCOM3(getter_AddRefs(servManager), nsnull, nsnull,
// kPStaticModules, kStaticModuleCount);
nsCOMPtr<nsIComponentRegistrar> registrar =
do_QueryInterface(servManager);
NS_ASSERTION(registrar, "No nsIComponentRegistrar from get service.
see dougt");
rv = registrar->AutoRegister(nsnull);
// Register our browser window factory
nsIFactory* bwf;
NS_NewXPBaseWindowFactory(&bwf);
registrar->RegisterFactory(kXPBaseWindowCID, 0, 0, bwf);
NS_RELEASE(bwf);
// register the cookie manager
nsCOMPtr<nsICookieService> cookieService =
do_GetService(kCookieServiceCID, &rv);
if (NS_FAILED(rv) || (nsnull == cookieService)) {
#ifdef DEBUG
printf("Unable to instantiate Cookie Manager\n");
#endif
}
return NS_OK;
}
Now I just have to figure out how to submit a defect change request...
Anywho, thanks for reading, hope this helps somebody else.
Stuart
_______________________________________________
mozilla-layout mailing list
[email protected]
http://mail.mozilla.org/listinfo/mozilla-layout