Bug 367792 - Crash when running Java unit tests that call initXPCOM. a=dveditz. XULRunner only.

git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@224078 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
pedemont%us.ibm.com
2007-04-03 15:27:59 +00:00
parent befcf7a2ca
commit de7fe2b17f

View File

@@ -14,7 +14,7 @@
* The Original Code is Java XPCOM Bindings.
*
* The Initial Developer of the Original Code is IBM Corporation.
* Portions created by the Initial Developer are Copyright (C) 2006
* Portions created by the Initial Developer are Copyright (C) 2007
* IBM Corporation. All Rights Reserved.
*
* Contributor(s):
@@ -238,19 +238,16 @@ InitXPCOM_Impl(JNIEnv* env, jobject aMozBinDirectory,
}
// create nsAppFileLocProviderProxy from given Java object
nsAppFileLocProviderProxy* provider = nsnull;
nsCOMPtr<nsIDirectoryServiceProvider> provider;
if (aAppFileLocProvider) {
provider = new nsAppFileLocProviderProxy(aAppFileLocProvider);
if (!provider)
return NS_ERROR_OUT_OF_MEMORY;
rv = NS_NewAppFileLocProviderProxy(aAppFileLocProvider,
getter_AddRefs(provider));
NS_ENSURE_SUCCESS(rv, rv);
}
// init XPCOM
nsCOMPtr<nsIServiceManager> servMan;
rv = NS_InitXPCOM2(getter_AddRefs(servMan), directory, provider);
if (provider) {
delete provider;
}
NS_ENSURE_SUCCESS(rv, rv);
// init Event Queue
@@ -284,11 +281,11 @@ extern "C" NS_EXPORT void JNICALL
XPCOM_NATIVE(shutdownXPCOM) (JNIEnv *env, jobject, jobject aServMgr)
{
nsresult rv;
nsCOMPtr<nsIServiceManager> servMgr;
nsIServiceManager* servMgr = nsnull;
if (aServMgr) {
// Get native XPCOM instance
rv = GetNewOrUsedXPCOMObject(env, aServMgr, NS_GET_IID(nsIServiceManager),
getter_AddRefs(servMgr));
(nsISupports**) &servMgr);
NS_ASSERTION(NS_SUCCEEDED(rv), "Failed to get XPCOM obj for ServiceMgr.");
// Even if we failed to get the matching xpcom object, we don't abort this