Rémi Bernon (@rbernon) commented about dlls/winewayland.drv/wayland_pointer.c:
- TRACE("clip=%s reset=%d\n", wine_dbgstr_rect(clip), reset);
- if (NtUserGetWindowThread(hwnd, NULL) != GetCurrentThreadId())
- {
pthread_mutex_lock(&pointer->mutex);
if (pointer->zwp_confined_pointer_v1)
{
zwp_confined_pointer_v1_destroy(pointer->zwp_confined_pointer_v1);
pointer->zwp_confined_pointer_v1 = NULL;
TRACE("Unconfining due to foreground thread mismatch\n");
}
pthread_mutex_unlock(&pointer->mutex);
return TRUE;
- }
- if (!reset && clip)
Fwiw clip is always NULL when reset is set. It is meant to notify the clipping thread (as well as the desktop in case the clipping thread is unresponsive) that they should release any active grab.