summaryrefslogtreecommitdiffstats
path: root/platform/android/java_godot_wrapper.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-08-16 23:45:39 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-08-16 23:45:39 +0200
commit82adfebcf8c4a0fa4cad28325796702fe075249c (patch)
tree3a4f7bc82fe0db1ab2dc0497238f23dcb34e83a0 /platform/android/java_godot_wrapper.cpp
parent4bd33df11e28e619555c3ba7a8e8c49a9a6497d8 (diff)
parenta57a99f5bcf38d4af4466b26f1b9effe3bedd870 (diff)
downloadredot-engine-82adfebcf8c4a0fa4cad28325796702fe075249c.tar.gz
Merge pull request #94799 from m4gr3d/memory_allocation_cleanup_and_optimizations
Android memory cleanup and optimizations
Diffstat (limited to 'platform/android/java_godot_wrapper.cpp')
-rw-r--r--platform/android/java_godot_wrapper.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/platform/android/java_godot_wrapper.cpp b/platform/android/java_godot_wrapper.cpp
index 70ea4b09c1..91bf7b48a6 100644
--- a/platform/android/java_godot_wrapper.cpp
+++ b/platform/android/java_godot_wrapper.cpp
@@ -213,25 +213,27 @@ bool GodotJavaWrapper::has_get_clipboard() {
}
String GodotJavaWrapper::get_clipboard() {
+ String clipboard;
if (_get_clipboard) {
JNIEnv *env = get_jni_env();
ERR_FAIL_NULL_V(env, String());
jstring s = (jstring)env->CallObjectMethod(godot_instance, _get_clipboard);
- return jstring_to_string(s, env);
- } else {
- return String();
+ clipboard = jstring_to_string(s, env);
+ env->DeleteLocalRef(s);
}
+ return clipboard;
}
String GodotJavaWrapper::get_input_fallback_mapping() {
+ String input_fallback_mapping;
if (_get_input_fallback_mapping) {
JNIEnv *env = get_jni_env();
ERR_FAIL_NULL_V(env, String());
jstring fallback_mapping = (jstring)env->CallObjectMethod(godot_instance, _get_input_fallback_mapping);
- return jstring_to_string(fallback_mapping, env);
- } else {
- return String();
+ input_fallback_mapping = jstring_to_string(fallback_mapping, env);
+ env->DeleteLocalRef(fallback_mapping);
}
+ return input_fallback_mapping;
}
bool GodotJavaWrapper::has_set_clipboard() {
@@ -324,14 +326,15 @@ Vector<String> GodotJavaWrapper::get_gdextension_list_config_file() const {
}
String GodotJavaWrapper::get_ca_certificates() const {
+ String ca_certificates;
if (_get_ca_certificates) {
JNIEnv *env = get_jni_env();
ERR_FAIL_NULL_V(env, String());
jstring s = (jstring)env->CallObjectMethod(godot_instance, _get_ca_certificates);
- return jstring_to_string(s, env);
- } else {
- return String();
+ ca_certificates = jstring_to_string(s, env);
+ env->DeleteLocalRef(s);
}
+ return ca_certificates;
}
void GodotJavaWrapper::init_input_devices() {