Paul Gofman gofmanp@gmail.com writes:
Otherwise the window (partially) obscured by the other window sometimes fails to update when the obscuring window is moved or destroyed.
That's not correct, there shouldn't be any reason to repaint the entire window when the contents are still valid.
Note that not flushing the bits right away is deliberate, that's a performance fix. The window will get repainted when the app waits for a new message.
If you have a real app where this is an issue, the heuristic could maybe be tweaked to catch that case, cf. check_for_driver_events in dlls/user32/message.c.