diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-05-24 22:31:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-24 22:31:03 +0200 |
commit | 3ecdc27f49cbdfbb07853606242538b6ca1fa37a (patch) | |
tree | a6859f0fdb8e292c730ebbbb98fffe53fac9caa3 /platform/android/java_godot_lib_jni.cpp | |
parent | 926d6c108277f74a29b683a4d623393b866e6d1c (diff) | |
parent | b987677cc0f7a9c5ba975f0d896652feef296b87 (diff) | |
download | redot-engine-3ecdc27f49cbdfbb07853606242538b6ca1fa37a.tar.gz |
Merge pull request #39004 from nekomatata/android-reset-surface
Proper surface reset when resuming app on Android
Diffstat (limited to 'platform/android/java_godot_lib_jni.cpp')
-rw-r--r-- | platform/android/java_godot_lib_jni.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/platform/android/java_godot_lib_jni.cpp b/platform/android/java_godot_lib_jni.cpp index 6f45b4977e..1f61c4a805 100644 --- a/platform/android/java_godot_lib_jni.cpp +++ b/platform/android/java_godot_lib_jni.cpp @@ -164,9 +164,20 @@ JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_setup(JNIEnv *env, jc ClassDB::register_class<JNISingleton>(); } -JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_resize(JNIEnv *env, jclass clazz, jint width, jint height) { - if (os_android) - os_android->set_display_size(Size2i(width, height)); +JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_resize(JNIEnv *env, jclass clazz, jobject p_surface, jint p_width, jint p_height) { + if (os_android) { + os_android->set_display_size(Size2i(p_width, p_height)); + + // No need to reset the surface during startup + if (step > 0) { + if (p_surface) { + ANativeWindow *native_window = ANativeWindow_fromSurface(env, p_surface); + os_android->set_native_window(native_window); + + DisplayServerAndroid::get_singleton()->reset_window(); + } + } + } } JNIEXPORT void JNICALL Java_org_godotengine_godot_GodotLib_newcontext(JNIEnv *env, jclass clazz, jobject p_surface, jboolean p_32_bits) { |