aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorMatthew Hoops2014-11-15 09:15:54 -0500
committerMatthew Hoops2014-11-15 09:21:36 -0500
commitb577da29b569a9ea4d74f4b8ea0d7e4fa3cae587 (patch)
tree44eb87332787206783dbff573c704aae06f514b6 /backends
parent54a4b2fa863b5fd9469e360ecd7c4b0717b373fe (diff)
downloadscummvm-rg350-b577da29b569a9ea4d74f4b8ea0d7e4fa3cae587.tar.gz
scummvm-rg350-b577da29b569a9ea4d74f4b8ea0d7e4fa3cae587.tar.bz2
scummvm-rg350-b577da29b569a9ea4d74f4b8ea0d7e4fa3cae587.zip
ANDROID: Delay deleting a local ref until it's no longer used
Should fix bug #6741
Diffstat (limited to 'backends')
-rw-r--r--backends/platform/android/asset-archive.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/backends/platform/android/asset-archive.cpp b/backends/platform/android/asset-archive.cpp
index 52c2c084bd..6680081c16 100644
--- a/backends/platform/android/asset-archive.cpp
+++ b/backends/platform/android/asset-archive.cpp
@@ -295,7 +295,6 @@ AssetFdReadStream::AssetFdReadStream(JNIEnv *env, jobject assetfd) :
jclass cls = env->GetObjectClass(_assetfd);
MID_close = env->GetMethodID(cls, "close", "()V");
assert(MID_close);
- env->DeleteLocalRef(cls);
jmethodID MID_getStartOffset =
env->GetMethodID(cls, "getStartOffset", "()J");
@@ -321,6 +320,8 @@ AssetFdReadStream::AssetFdReadStream(JNIEnv *env, jobject assetfd) :
_fd = env->GetIntField(javafd, FID_descriptor);
env->DeleteLocalRef(javafd);
+
+ env->DeleteLocalRef(cls);
}
AssetFdReadStream::~AssetFdReadStream() {