81a24edc
by Rémi Bernon at 2025-04-09T22:49:42+02:00
winex11: Avoid setting RDW_ERASE on expose events.
The Medium launcher uses a dialog window procedure, and implements its
background by doing a StretchBlt call on WM_PAINT in the dialog
procedure call, which happens before the window message loop
It then itself calls InvalidateRect(hwnd, NULL, 0), which queues a
WM_PAINT as well but with only the RDW_INVALIDATE flag.
Next, when the window message loop is executed, the WM_PAINT message is
being processed as it should, but as we've invalidated the window with
RDW_ERASE from the expose event, the WM_NCPAINT handler erases the
entire window, clearing the pixels that the launcher has just painted.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57665