mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-01 14:58:14 +00:00
Fix JNI leak in Android_GetInputDeviceDebugString, affecting TouchScreenTest
This commit is contained in:
1 parent
a3bbaeb31d
commit
fe0f19fa31
1 file changed
+8
-5
@@ -506,16 +506,19 @@ std::string Android_GetInputDeviceDebugString() {
|
||||
return "(N/A)";
|
||||
}
|
||||
auto env = getEnv();
|
||||
jstring param = env->NewStringUTF("InputDevice");
|
||||
|
||||
jstring str = (jstring)env->CallObjectMethod(nativeActivity, getDebugString, param);
|
||||
if (!str) {
|
||||
jstring jparam = env->NewStringUTF("InputDevice");
|
||||
jstring jstr = (jstring)env->CallObjectMethod(nativeActivity, getDebugString, jparam);
|
||||
if (!jstr) {
|
||||
env->DeleteLocalRef(jparam);
|
||||
return "(N/A)";
|
||||
}
|
||||
|
||||
const char *charArray = env->GetStringUTFChars(str, 0);
|
||||
const char *charArray = env->GetStringUTFChars(jstr, 0);
|
||||
std::string retVal = charArray;
|
||||
env->DeleteLocalRef(str);
|
||||
env->ReleaseStringUTFChars(jstr, charArray);
|
||||
env->DeleteLocalRef(jstr);
|
||||
env->DeleteLocalRef(jparam);
|
||||
return retVal;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user