ANDROID: Delay deleting a local ref until it's no longer used

Should fix bug #6741
This commit is contained in:
Matthew Hoops 2014-11-15 09:15:54 -05:00
parent 54a4b2fa86
commit b577da29b5

View file

@ -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() {