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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user