From 4e4152335de83ecfeecc8e300f1bbf883f6b6bb5 Mon Sep 17 00:00:00 2001 From: "pedemont%us.ibm.com" Date: Wed, 27 Sep 2006 15:17:57 +0000 Subject: [PATCH] Fix crash when calling initEmbedding with an appFileLocProvider. Don't delete the locProvider proxy after having called NS_InitEmbedding. Not part of default build. a=mkaply Original committer: pedemont%us.ibm.com Original revision: 1.26 Original date: 2005/07/13 22:15:09 git-svn-id: svn://10.0.0.236/trunk@212633 18797224-902f-48f8-a5cc-f745e15eee43 --- .../extensions/java/xpcom/src/nsJavaInterfaces.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/mozilla/extensions/java/xpcom/src/nsJavaInterfaces.cpp b/mozilla/extensions/java/xpcom/src/nsJavaInterfaces.cpp index ed6e0d2f470..2b0e86f5ef2 100644 --- a/mozilla/extensions/java/xpcom/src/nsJavaInterfaces.cpp +++ b/mozilla/extensions/java/xpcom/src/nsJavaInterfaces.cpp @@ -69,18 +69,15 @@ InitEmbedding_Impl(JNIEnv* env, jobject aMozBinDirectory, } // create nsAppFileLocProviderProxy from given Java object - nsAppFileLocProviderProxy* provider = nsnull; + nsCOMPtr 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 Gecko rv = NS_InitEmbedding(directory, provider); - if (provider) { - delete provider; - } NS_ENSURE_SUCCESS(rv, rv); // init Event Queue