The NT DDK Help / Reference for BRUSHOBJ clearly states
If the iSolidColor member is 0xFFFFFFFF **or** the pvRbrush member is null, the driver must call the BRUSHOBJ_pvGetRbrush function to realize the brush
(my emphasis on the **or**)
The NT DDK Help / Reference for BRUSHOBJ_pvGetRBrush clearly states
BRUSHOBJ_pvGetRbrush is called when the brush is a pattern brush that has not yet been realized; that is, it is called when the iSolidColor member of the BRUSHOBJ structure is 0xFFFFFFFF **and** the pvRbrush member is null.
(my emphasis on the **and**)
If I AND, then colors come across wrong (mostly black). If I OR, then I get a BSOFD in between my call to BRUSHOBJ_pvGetRbrush and the GDIs call to DrvRealizeBrush (yes, Virginia, pbo has been confirmed to be non-NULL).
Anybody have any suggestions / ideas, etc.?
TIA!
Steve