diff options
author | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2024-01-05 18:27:10 +0100 |
---|---|---|
committer | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2024-02-06 19:55:01 +0100 |
commit | d5a5dd52e82c171a3eba449cfdee9eb3be1323d7 (patch) | |
tree | e159b2c1895815d48fd4c5742fd981917fd5f521 /platform/android | |
parent | 13a0d6e9b253654f5cc2a44f3d0b3cae10440443 (diff) | |
download | redot-engine-d5a5dd52e82c171a3eba449cfdee9eb3be1323d7.tar.gz |
Avoid several null-dereferences of ApiContextRD
Diffstat (limited to 'platform/android')
-rw-r--r-- | platform/android/display_server_android.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/platform/android/display_server_android.cpp b/platform/android/display_server_android.cpp index 340823baac..4a9915379a 100644 --- a/platform/android/display_server_android.cpp +++ b/platform/android/display_server_android.cpp @@ -538,9 +538,10 @@ void DisplayServerAndroid::reset_window() { #endif if (context_rd->window_create(MAIN_WINDOW_ID, last_vsync_mode, display_size.width, display_size.height, &wpd) != OK) { + ERR_PRINT(vformat("Failed to reset %s window.", context_rd->get_api_name())); memdelete(context_rd); context_rd = nullptr; - ERR_FAIL_MSG(vformat("Failed to reset %s window.", context_rd->get_api_name())); + return; } } #endif @@ -575,9 +576,10 @@ DisplayServerAndroid::DisplayServerAndroid(const String &p_rendering_driver, Dis if (context_rd) { if (context_rd->initialize() != OK) { + ERR_PRINT(vformat("Failed to initialize %s context", context_rd->get_api_name())); memdelete(context_rd); context_rd = nullptr; - ERR_FAIL_MSG(vformat("Failed to initialize %s context", context_rd->get_api_name())); + return; } Size2i display_size = OS_Android::get_singleton()->get_display_size(); @@ -596,9 +598,10 @@ DisplayServerAndroid::DisplayServerAndroid(const String &p_rendering_driver, Dis #endif if (context_rd->window_create(MAIN_WINDOW_ID, p_vsync_mode, display_size.width, display_size.height, &wpd) != OK) { + ERR_PRINT(vformat("Failed to create %s window.", context_rd->get_api_name())); memdelete(context_rd); context_rd = nullptr; - ERR_FAIL_MSG(vformat("Failed to create %s window.", context_rd->get_api_name())); + return; } rendering_device = memnew(RenderingDevice); |