• Rémi Bernon's avatar
    winex11: Simplify the cursor clipping retry mechanism. · 1f90d03b
    Rémi Bernon authored
    If the focus changes between Wine windows, the wineserver logic will
    decide to reset the clipping rectangle. However winex11 also needs to
    support the case when focus changes to a host window, in virtual desktop
    mode, and in this case the foreground window doesn't actually change.
    
    To fix this, in virtual desktop mode, release the cursor on focus out
    events, and reapply the cursor clipping rect when the virtual desktop
    window is focused again.
    
    We can use the same logic on NotifyGrab events, when the WM grabs the
    keyboard, and later reapply the Wine clipping rect when we are notified
    about the keyboard ungrab.
    
    Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55046
    1f90d03b
event.c 60 KB