https://bugs.kde.org/show_bug.cgi?id=487189

Zamundaaa <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/kwin/-/commit/8f0882b2e0
                   |                            |af66c0a04f54b823bc4aed10b49
                   |                            |da7

--- Comment #6 from Zamundaaa <[email protected]> ---
Git commit 8f0882b2e0af66c0a04f54b823bc4aed10b49da7 by Xaver Hugl.
Committed on 21/07/2026 at 19:14.
Pushed by zamundaaa into branch 'master'.

pointer_input: rework pointer constraints

On the Wayland side, pointer constraints were implemented in a problematic way:
While position hints and regions were applied together with the Wayland commit
(and possibly delayed), the destruction of pointer constraints was handled
immediately. This could lead to the pointer warping to the wrong location when
the pointer constraint object gets destroyed by the client.

So, instead of applying pointer constraint creation and destruction
immediately,
this delays all the pointer constraint and lock properties with Wayland
commits.

Changed constraint regions were also applied before the rest of each Wayland
commit, which caused issues when the geometry of the window changed along with
the constraint region (like windowed -> fullscreen).

Note that this also requires committing the surface after installing a pointer
constraint for it to be actually applied. This is unlikely to cause issues with
real-world applications, but it's underspecified in the protocol and KWin's
autotest for it needed adjusting.
Related: bug 520910

M  +7    -2    autotests/integration/pointer_constraints_test.cpp
M  +50   -109  src/pointer_input.cpp
M  +2    -4    src/pointer_input.h
M  +58   -79   src/wayland/pointerconstraints_v1.cpp
M  +5    -81   src/wayland/pointerconstraints_v1.h
M  +11   -28   src/wayland/pointerconstraints_v1_p.h
M  +79   -57   src/wayland/surface.cpp
M  +13   -10   src/wayland/surface.h
M  +9    -2    src/wayland/surface_p.h

https://invent.kde.org/plasma/kwin/-/commit/8f0882b2e0af66c0a04f54b823bc4aed10b49da7

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to