gdi: Add support for creating extended pens.
diff --git a/dlls/x11drv/pen.c b/dlls/x11drv/pen.c index a23cd48..2db5136 100644 --- a/dlls/x11drv/pen.c +++ b/dlls/x11drv/pen.c
@@ -38,7 +38,20 @@ { LOGPEN logpen; - if (!GetObjectA( hpen, sizeof(logpen), &logpen )) return 0; + if (!GetObjectW( hpen, sizeof(logpen), &logpen )) + { + /* must be an extended pen */ + EXTLOGPEN elp; + if (!GetObjectW( hpen, sizeof(elp), &elp )) + { + FIXME("extended pen %p not supported\n", hpen); + return 0; + } + logpen.lopnStyle = elp.elpPenStyle; + logpen.lopnWidth.x = elp.elpWidth; + logpen.lopnWidth.y = 0; + logpen.lopnColor = elp.elpColor; + } physDev->pen.style = logpen.lopnStyle & PS_STYLE_MASK; physDev->pen.type = logpen.lopnStyle & PS_TYPE_MASK;