https://bugs.winehq.org/show_bug.cgi?id=39730
Bug ID: 39730 Summary: FillRect() confuses 16bit brush handles with color constants Product: Wine Version: 1.8-rc2 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: bunglehead@gmail.com Distribution: ---
Background window filling breaks because FillRect() gives special treatment for predefined color constants, that could be used instead of brush handles.
If background brush is set with GetStockObject(WHITE_BRUSH) (or any brush created early enough really), it's possible that this window background will be filled using wrong color. What happens is that handle truncation leads to small enough 16bit handle values that trigger special color path in FillRect().