[Bf-blender-cvs] [881d1c9bc23] master: Fix crash in wayland when closing a window
Campbell Barton
noreply at git.blender.org
Sat Jun 18 08:50:48 CEST 2022
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();
}
More information about the Bf-blender-cvs
mailing list