[Bf-blender-cvs] [cbd15d387f8] master: GHOST/Wayland: don't send activate/deactivate on pointer enter/leave

Campbell Barton noreply at git.blender.org
Sat Jan 21 13:09:35 CET 2023


Commit: cbd15d387f8418d85048a3051e64e510a18d10a9
Author: Campbell Barton
Date:   Sat Jan 21 23:09:22 2023 +1100
Branches: master
https://developer.blender.org/rBcbd15d387f8418d85048a3051e64e510a18d10a9

GHOST/Wayland: don't send activate/deactivate on pointer enter/leave

This isn't correct as window activation is handled separately
from the cursor entering/leaving a window.

This would call de-activate when the cursor moved outside the window
even though the window remained focused.

Rely on focus changes which already handle activate/deactivate events.

===================================================================

M	intern/ghost/intern/GHOST_SystemWayland.cpp

===================================================================

diff --git a/intern/ghost/intern/GHOST_SystemWayland.cpp b/intern/ghost/intern/GHOST_SystemWayland.cpp
index 6a163d8661e..3911014d8cb 100644
--- a/intern/ghost/intern/GHOST_SystemWayland.cpp
+++ b/intern/ghost/intern/GHOST_SystemWayland.cpp
@@ -2586,8 +2586,6 @@ static void pointer_handle_enter(void *data,
 
   GHOST_WindowWayland *win = ghost_wl_surface_user_data(wl_surface);
 
-  win->activate();
-
   GWL_Seat *seat = static_cast<GWL_Seat *>(data);
   seat->cursor_source_serial = serial;
   seat->pointer.serial = serial;
@@ -2627,8 +2625,6 @@ static void pointer_handle_leave(void *data,
   static_cast<GWL_Seat *>(data)->pointer.wl_surface_window = nullptr;
   if (wl_surface && ghost_wl_surface_own(wl_surface)) {
     CLOG_INFO(LOG, 2, "leave");
-    GHOST_WindowWayland *win = ghost_wl_surface_user_data(wl_surface);
-    win->deactivate();
   }
   else {
     CLOG_INFO(LOG, 2, "leave (skipped)");



More information about the Bf-blender-cvs mailing list