If a surface is being clipped and hides the cursor, drawing its own one,
winewayland constrains using a pointer lock and enables Wayland relative
motion. If the application decides to stop drawing its own cursor and
make the cursor visible, winewayland will disable relative motion and
pointer lock, and enable pointer confinement. The user will perceive a
pointer jump from the win32/application drawn cursor to where the
Wayland pointer is after being unlocked and an absolute motion event is
received, because they were desynchronized due to the Wayland one being
locked in place.
The pointer constraints protocol says this:
> If the client is drawing its own cursor, it should update the position
> hint to the position of its own cursor. A compositor may use this
> information to warp the pointer upon unlock in order to avoid pointer
> jumps.
So, right before unlocking, make a request for the compositor to warp
the pointer to the win32 position on pointer unlock.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7352
On Tue Feb 18 06:30:29 2025 +0000, Nikolay Sivov wrote:
> I knew I commented on these changes before, but then I found it was
> !7244. Could we merge those, or what's the plan?
No problem to do that if 11 commits are ok.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7174#note_94962
Startup and lock counts in native Windows are separate, and the lock count does not decrease when an async result is freed if the platform has been started.
--
v5: rtworkq: Introduce an async result object cache.
rtworkq: Introduce a platform startup count.
rtworkq/tests: Test work queue.
mfplat/tests: Test platform startup and lock counts.
mfplat/tests: Test mixing of MF platform functions with their Rtwq equivalents.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7174
Port the XML parser from dlls/ntdll/actctx.c to ASCII and use it to parse
the XML returned from FreeBSD's kern.sched.topology_spec sysctl.
--
v3: ntdll: implement create_logical_proc_info on FreeBSD.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7339