https://bugs.winehq.org/show_bug.cgi?id=37431
Bug ID: 37431 Summary: Incorrect handling of SetBkMode(dc, TRANSPARENT) with hatch brush Product: Wine Version: 1.6.2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: gdi32 Assignee: wine-bugs@winehq.org Reporter: matteo@mitalia.net Distribution: ---
Created attachment 49789 --> https://bugs.winehq.org/attachment.cgi?id=49789 Sample program
On some kind of DCs (tested: memory DCs, DC provided by BeginPaint) a hatch brush (created by CreateHatchBrush) performs fills incorrectly when setting the background mode of the DC to TRANSPARENT. The pixels that should be transparent are black instead (see attachments for example); ExtTextOut in the same conditions instead performs correctly.
Interestingly, the behavior seems to be correct when painting over the screen DC (obtained via GetDC(NULL)). The attached sample program (also at https://bitbucket.org/mitalia/hatchbrushbug/src/hatchbrushbug.cpp) demonstrates the problem.
My tests were performed with the wine 1.6.2 packages shipped with KUbuntu 14.04 x86-64; the problem is present also compiling a winelib executable with wineg++. Native works fine.