From d4dabd15aa85a6c7bb1a62eb412bc8fbe901ac5c Mon Sep 17 00:00:00 2001 From: Riteo Siuga Date: Sat, 3 May 2025 20:24:44 +0200 Subject: [PATCH] Wayland: Ensure pointed window's existence in mouse_get_position Should fix a crash with certain compositors. --- platform/linuxbsd/wayland/display_server_wayland.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/platform/linuxbsd/wayland/display_server_wayland.cpp b/platform/linuxbsd/wayland/display_server_wayland.cpp index 0517859f31e..7b9b7ac502c 100644 --- a/platform/linuxbsd/wayland/display_server_wayland.cpp +++ b/platform/linuxbsd/wayland/display_server_wayland.cpp @@ -453,15 +453,13 @@ Point2i DisplayServerWayland::mouse_get_position() const { WindowID pointed_id = wayland_thread.pointer_get_pointed_window_id(); - if (pointed_id != INVALID_WINDOW_ID) { + if (pointed_id != INVALID_WINDOW_ID && windows.has(pointed_id)) { return Input::get_singleton()->get_mouse_position() + windows[pointed_id].rect.position; } // We can't properly implement this method by design. // This is the best we can do unfortunately. return Input::get_singleton()->get_mouse_position(); - - return Point2i(); } BitField DisplayServerWayland::mouse_get_button_state() const {