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;