The white flash

Raymond Chen

If you had a program that didn’t process messages for a while, but it needed to be painted for whatever reason (say, somebody uncovered it), Windows would eventually lose patience with you and paint your window white. Or at least, that’s what people would claim. Actually, Windows is painting your window with your class background brush. Since most people use COLOR_WINDOW and since COLOR_WINDOW is white in most color schemes, the end result is a flash of white. Why paint the window white? Why not just leave it alone? Well, that’s what it used to do, but the result was that the previous contents of the screen would be shown where the window “would be”. So suppose you were looking at Explorer, and then you restored a program that stopped responding. Inside the program’s main window would be… a picture of Explorer. And then people would try to double-click on what they thought was Explorer but was really a hung program. In Windows XP, the behavior for a window that has stopped painting is different. Now, the system captures the pixels of the unresponsive window and just redraws those pixels if the window is unable to draw anything itself. Note, however, that if the system can’t capture all of the pixels – say because the window was partially covered – then the parts that it couldn’t get are filled in with the class brush.

Which is usually white.

0 comments

Discussion is closed.

Feedback usabilla icon