diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-06-29 13:04:06 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-06-29 13:04:06 +0200 |
commit | 0b23be968aa5c7c35e0267b190d8946b3a80d4cf (patch) | |
tree | 4d74b4b368336e0e1c065361e3a8a5b4cf14b703 /platform/linuxbsd/wayland/display_server_wayland.cpp | |
parent | f64f1b3b6d2a3f1d21ea36fe8f619fc2b83d799b (diff) | |
parent | 32d9c93af3e5ff999444eb8e52699110b0fe9afd (diff) | |
download | redot-engine-0b23be968aa5c7c35e0267b190d8946b3a80d4cf.tar.gz |
Merge pull request #93706 from RandomShaper/fix_rend_misc
Improve handling of rendering startup errors
Diffstat (limited to 'platform/linuxbsd/wayland/display_server_wayland.cpp')
-rw-r--r-- | platform/linuxbsd/wayland/display_server_wayland.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/platform/linuxbsd/wayland/display_server_wayland.cpp b/platform/linuxbsd/wayland/display_server_wayland.cpp index c05ad93f42..adc9beed66 100644 --- a/platform/linuxbsd/wayland/display_server_wayland.cpp +++ b/platform/linuxbsd/wayland/display_server_wayland.cpp @@ -1469,7 +1469,14 @@ DisplayServerWayland::DisplayServerWayland(const String &p_rendering_driver, Win #ifdef RD_ENABLED if (rendering_context) { rendering_device = memnew(RenderingDevice); - rendering_device->initialize(rendering_context, MAIN_WINDOW_ID); + if (rendering_device->initialize(rendering_context, MAIN_WINDOW_ID) != OK) { + memdelete(rendering_device); + rendering_device = nullptr; + memdelete(rendering_context); + rendering_context = nullptr; + r_error = ERR_UNAVAILABLE; + return; + } rendering_device->screen_create(MAIN_WINDOW_ID); RendererCompositorRD::make_current(); |