15 Oct
2025
15 Oct
'25
6:36 a.m.
On Wed Oct 15 06:30:38 2025 +0000, Rémi Bernon wrote:
Sure, but what is this scenario exactly? I've worked to remove the surface recursive locking requirement before, and I think we should fix it that way instead. This situation occurs when NtUserUpdateLayeredWindow is called. Within the NtUserUpdateLayeredWindow function, there exists the following call sequence: window_surface_lock() → NtGdiAlphaBlend() → window_surface_unlock(). However, the implementation of the NtGdiAlphaBlend() function calls the windrv_GetImage() function, which internally invokes lock_surface() and unlock_surface().
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9177#note_118551