Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge pull request #883 from ehooi/master

fixed #1216:fix JNI leaks
  • Loading branch information...
commit e465fd9a9839c3160ad919a2c63a511dc52e9e06 2 parents a511432 + a0c7b11
@minggo minggo authored
View
10 cocos2dx/platform/android/jni/IMEJni.cpp
@@ -60,13 +60,9 @@ extern "C"
void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInsertText(JNIEnv* env, jobject thiz, jstring text)
{
- jboolean isCopy = 0;
- const char* pszText = env->GetStringUTFChars(text, &isCopy);
- if (isCopy)
- {
- cocos2d::CCIMEDispatcher::sharedDispatcher()->dispatchInsertText(pszText, strlen(pszText));
- env->ReleaseStringUTFChars(text, pszText);
- }
+ const char* pszText = env->GetStringUTFChars(text, NULL);
+ cocos2d::CCIMEDispatcher::sharedDispatcher()->dispatchInsertText(pszText, strlen(pszText));
+ env->ReleaseStringUTFChars(text, pszText);
}
void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeDeleteBackward(JNIEnv* env, jobject thiz)
View
8 cocos2dx/platform/android/jni/JniHelper.cpp
@@ -161,18 +161,14 @@ extern "C"
{
JNIEnv *env = 0;
- jboolean isCopy;
if (! getEnv(&env))
{
return 0;
}
- const char* chars = env->GetStringUTFChars(jstr, &isCopy);
+ const char* chars = env->GetStringUTFChars(jstr, NULL);
string ret(chars);
- if (isCopy)
- {
- env->ReleaseStringUTFChars(jstr, chars);
- }
+ env->ReleaseStringUTFChars(jstr, chars);
return ret;
}
View
10 cocos2dx/platform/android/jni/MessageJni.cpp
@@ -123,12 +123,8 @@ extern "C"
//////////////////////////////////////////////////////////////////////////
void Java_org_cocos2dx_lib_Cocos2dxActivity_nativeSetPaths(JNIEnv* env, jobject thiz, jstring apkPath)
{
- const char* str;
- jboolean isCopy;
- str = env->GetStringUTFChars(apkPath, &isCopy);
- if (isCopy) {
- cocos2d::CCFileUtils::setResourcePath(str);
- env->ReleaseStringUTFChars(apkPath, str);
- }
+ const char* str = env->GetStringUTFChars(apkPath, NULL);
+ cocos2d::CCFileUtils::setResourcePath(str);
+ env->ReleaseStringUTFChars(apkPath, str);
}
}
View
2  cocos2dx/platform/android/jni/SystemInfoJni.cpp
@@ -53,6 +53,7 @@ extern "C"
t.env->DeleteLocalRef(t.classID);
CCString *ret = new CCString(JniHelper::jstring2string(str).c_str());
ret->autorelease();
+ t.env->DeleteLocalRef(str);
LOGD("package name %s", ret->m_sString.c_str());
@@ -78,6 +79,7 @@ extern "C"
t.env->DeleteLocalRef(t.classID);
CCString *ret = new CCString(JniHelper::jstring2string(str).c_str());
ret->autorelease();
+ t.env->DeleteLocalRef(str);
LOGD("language name %s", ret.c_str());
Please sign in to comment.
Something went wrong with that request. Please try again.