[DEV] Fix reference to java object + Fix memory leak in setTitle
This commit is contained in:
parent
ced259175f
commit
d073a04e29
@ -131,8 +131,11 @@ void SendJavaSetTitle(const char * dataString)
|
|||||||
EWOL_ERROR("C->java : No data to send ...");
|
EWOL_ERROR("C->java : No data to send ...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Call java ...
|
//Call java ...
|
||||||
JavaVirtualMachinePointer->CallVoidMethod(javaObjectEwolCallbackAndActivity, javaMethodEwolActivitySetTitle, JavaVirtualMachinePointer->NewStringUTF(dataString));
|
jstring title = JavaVirtualMachinePointer->NewStringUTF(dataString);
|
||||||
|
JavaVirtualMachinePointer->CallVoidMethod(javaObjectEwolCallbackAndActivity, javaMethodEwolActivitySetTitle, title);
|
||||||
|
JavaVirtualMachinePointer->DeleteLocalRef(title);
|
||||||
// manage execption :
|
// manage execption :
|
||||||
java_check_exception(JavaVirtualMachinePointer);
|
java_check_exception(JavaVirtualMachinePointer);
|
||||||
java_detach_current_thread(status);
|
java_detach_current_thread(status);
|
||||||
@ -257,9 +260,8 @@ extern "C"
|
|||||||
"orientationUpdate", "(I)V");
|
"orientationUpdate", "(I)V");
|
||||||
|
|
||||||
|
|
||||||
//javaObjectActivity = JavaVirtualMachinePointer->NewGlobalRef(obj);
|
javaObjectEwolCallbackAndActivity = env->NewGlobalRef(objCallback);
|
||||||
/* realy unsafe... */
|
//javaObjectEwolCallbackAndActivity = objCallback;
|
||||||
javaObjectEwolCallbackAndActivity = objCallback;
|
|
||||||
|
|
||||||
javaDefaultClassString = JavaVirtualMachinePointer->FindClass("java/lang/String" );
|
javaDefaultClassString = JavaVirtualMachinePointer->FindClass("java/lang/String" );
|
||||||
if (javaDefaultClassString == 0) {
|
if (javaDefaultClassString == 0) {
|
||||||
@ -274,6 +276,7 @@ extern "C"
|
|||||||
EWOL_DEBUG("*******************************************");
|
EWOL_DEBUG("*******************************************");
|
||||||
EWOL_DEBUG("** Remove JVM Pointer **");
|
EWOL_DEBUG("** Remove JVM Pointer **");
|
||||||
EWOL_DEBUG("*******************************************");
|
EWOL_DEBUG("*******************************************");
|
||||||
|
env->DeleteGlobalRef(javaObjectEwolCallbackAndActivity);
|
||||||
JavaVirtualMachinePointer = NULL;
|
JavaVirtualMachinePointer = NULL;
|
||||||
}
|
}
|
||||||
void Java_org_ewol_Ewol_touchEvent( JNIEnv* env, jobject thiz )
|
void Java_org_ewol_Ewol_touchEvent( JNIEnv* env, jobject thiz )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user