[PATCH v3 00/10] winex11.drv: Improve ClipCursor handling.

Rémi Bernon rbernon at codeweavers.com
Mon Oct 7 08:02:06 CDT 2019


This is another try at fixing the remaining cursor clipping issues. It
uses same Focus* event delay mechanism from the previous version - with
some codepath simplification for the UseTakeFocus option. (PATCH 1-3)

In addition to this, it also reverts some previous patches that
introduced unnecessary complexity to replace them with a simpler version
once focus events are delayed. (PATCH 4-10)

Rémi Bernon (10):
  winex11.drv: Make it possible to merge events across process_events
    calls.
  winex11.drv: Call XSetInputFocus only, whenever WM_TAKE_FOCUS is
    received.
  winex11.drv: Wait for the WM to release the cursor before handling
    FocusIn events.
  Revert "winex11.drv: Retry last ClipCursor when grab is released."
  Revert "winex11.drv: Only grab or warp the cursor when keyboard isn't
    grabbed."
  Revert "winex11.drv: Explicitly call XUngrabPointer when clipping is
    released."
  winex11.drv: Merge FocusIn/FocusOut NotifyGrab/NotifyUngrab cases.
  winex11.drv: Release clipping window on FocusOut events.
  winex11.drv: Use the current clipping rectangle when restoring grabs.
  winex11.drv: Retry calling XGrabPointer later if it failed.

 dlls/winex11.drv/event.c  | 198 +++++++++++++++++++++++---------------
 dlls/winex11.drv/mouse.c  |  42 +-------
 dlls/winex11.drv/x11drv.h |   3 +-
 3 files changed, 127 insertions(+), 116 deletions(-)

--
2.23.0




More information about the wine-devel mailing list