On Tue May 19 21:39:12 2026 +0000, Twaik Yont wrote:
Yeah, I know. I checked with desktop=shell. Winex11 desktop mode repaints desktop due to direct drawing (which causes NtUserExposeWindowSurface to fall back to NtUserRedrawWindow), without it I see same white rectangles. I think I understand the issue better now.
`add_bounds_rect()` in `NtUserExposeWindowSurface()` only updates the surface dirty/present path, but it does not create a normal window update region. So it looks like the newly exposed desktop area never becomes invalidated for the normal repaint path. It also seems like the most appropriate fix would probably be to trigger normal window content invalidation there through `NtUserRedrawWindow()`. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10712#note_140648