Alexandre Juillard pointed out that as BS_SOLID/BS_HOLLOW are not flags, my method of testing for 'em was wrong.
Index: objects/pen.c =================================================================== RCS file: /home/wine/wine/objects/pen.c,v retrieving revision 1.24 diff -u -r1.24 pen.c --- objects/pen.c 5 Sep 2003 23:15:42 -0000 1.24 +++ objects/pen.c 2 Dec 2003 11:35:22 -0000 @@ -106,8 +106,8 @@ if ((style & PS_STYLE_MASK) == PS_USERSTYLE) FIXME("PS_USERSTYLE not handled\n"); if ((style & PS_TYPE_MASK) == PS_GEOMETRIC) - if (brush->lbHatch) - FIXME("Hatches not implemented\n"); + if (brush->lbHatch && ((brush->lbStyle == BS_SOLID) || (brush->lbStyle == BS_HOLLOW))) + FIXME("Hatches not implemented\n"); if (!(penPtr = GDI_AllocObject( sizeof(PENOBJ), PEN_MAGIC, (HGDIOBJ *)&hpen, &pen_funcs ))) return 0;