summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qjnihelpers.cpp
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@digia.com>2013-10-29 17:40:56 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-30 14:50:02 +0100
commitfb5036b7f12dd648340aaa7f90245afd353759e2 (patch)
tree1815835fc3cfc090be391c1b7714aafbcddbbea6 /src/corelib/kernel/qjnihelpers.cpp
parentaa92cab34664143aa92ed6808ec925466de6f1d7 (diff)
Android: Fix problem with leaking local refs.
In some cases we where not releasing the local references and since we no longer disconnect from the VM on each call, the number of local refs. would accumulating until it hit the hard-limit of 512. Change-Id: I6826620e4cb61a37af26d276667489e876080076 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Diffstat (limited to 'src/corelib/kernel/qjnihelpers.cpp')
-rw-r--r--src/corelib/kernel/qjnihelpers.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/corelib/kernel/qjnihelpers.cpp b/src/corelib/kernel/qjnihelpers.cpp
index fbcd0606e6..9ec491f6a9 100644
--- a/src/corelib/kernel/qjnihelpers.cpp
+++ b/src/corelib/kernel/qjnihelpers.cpp
@@ -94,7 +94,9 @@ jint QtAndroidPrivate::initJNI(JavaVM *vm, JNIEnv *env)
return JNI_ERR;
g_jClassLoader = env->NewGlobalRef(classLoader);
+ env->DeleteLocalRef(classLoader);
g_jActivity = env->NewGlobalRef(activity);
+ env->DeleteLocalRef(activity);
g_javaVM = vm;
return JNI_OK;