mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-02-07 06:09:39 +00:00
Do not set the same listener twice and clear the previous one if it exists in Java wrapper
This commit is contained in:
parent
373dafd993
commit
539f7b0fbe
1 changed files with 11 additions and 1 deletions
|
|
@ -366,7 +366,17 @@ void Java_{{jniPackage}}{{className}}Impl_setListener(JNIEnv* env, jobject thiz,
|
|||
env->DeleteGlobalRef(listener);
|
||||
}
|
||||
} else {
|
||||
jobject listener = env->NewGlobalRef(jlistener);
|
||||
jobject listener = (jobject) {{cPrefix}}_cbs_get_user_data(cbs);
|
||||
if (listener == NULL) {
|
||||
listener = env->NewGlobalRef(jlistener);
|
||||
} else {
|
||||
if (env->IsSameObject(listener, jlistener)) {
|
||||
return;
|
||||
} else {
|
||||
env->DeleteGlobalRef(listener);
|
||||
listener = env->NewGlobalRef(jlistener);
|
||||
}
|
||||
}
|
||||
{{cPrefix}}_cbs_set_user_data(cbs, listener);
|
||||
{{#callbacksList}}
|
||||
{{cPrefix}}_cbs_set_{{callback}}(cbs, {{callbackName}});
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue