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

Reply via email to