Commit: 881d1c9bc234e203cff033ea02998ce99f3070cd Author: Campbell Barton Date: Sat Jun 18 16:48:58 2022 +1000 Branches: master https://developer.blender.org/rB881d1c9bc234e203cff033ea02998ce99f3070cd
Fix crash in wayland when closing a window The focus_pointer only pointer was only cleared when the window existed, which caused a dangling focus_pointer when closing a window. =================================================================== M intern/ghost/intern/GHOST_SystemWayland.cpp =================================================================== diff --git a/intern/ghost/intern/GHOST_SystemWayland.cpp b/intern/ghost/intern/GHOST_SystemWayland.cpp index 2d1337df1de..bff96b3c0a4 100644 --- a/intern/ghost/intern/GHOST_SystemWayland.cpp +++ b/intern/ghost/intern/GHOST_SystemWayland.cpp @@ -1161,12 +1161,13 @@ static void pointer_handle_leave(void *data, uint32_t /*serial*/, struct wl_surface *surface) { + /* First clear the `focus_pointer`, since the window won't exist when closing the window. */ + static_cast<input_t *>(data)->focus_pointer = nullptr; + GHOST_IWindow *win = window_from_surface(surface); if (!win) { return; } - - static_cast<input_t *>(data)->focus_pointer = nullptr; static_cast<GHOST_WindowWayland *>(win)->deactivate(); } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs