On Wed Oct 15 06:36:25 2025 +0000, Zhao Yi wrote:
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().
I see, thank you. This happens when UpdateLayeredWindow is called with hdc_src set to one of the window's self DC right? We might be able to detect this case and handle it separately.