[PATCH 1/4] gdiplus/metafile: Partially implement EmfPlusPen support for playback

Vincent Povirk vincent at codeweavers.com
Thu Oct 19 14:29:28 CDT 2017


Some of the size calculations don't seem to match.

+    if (pendata->PenDataFlags & PenDataTransform)
+        offset += sizeof(GpMatrix);

+        if (pendata->PenDataFlags & PenDataTransform)
+        {
+            FIXME("PenDataTransform is not supported.\n");
+            offset += sizeof(EmfPlusTransformMatrix);
+        }

+    if (pendata->PenDataFlags & PenDataDashedLine)
+    {
+        EmfPlusDashedLineData *dashedline = (EmfPlusDashedLineData
*)((BYTE *)data + offset);
+
+        offset += FIELD_OFFSET(EmfPlusDashedLineData, data);
+        if (data_size <= offset)
+            return InvalidParameter;
+
+        offset += dashedline->DashedLineDataSize;
+    }

+        if (pendata->PenDataFlags & PenDataDashedLine)
+        {
+            EmfPlusDashedLineData *dashedline =
(EmfPlusDashedLineData *)((BYTE *)pendata + offset);
+            FIXME("PenDataDashedLine is not supported.\n");
+            offset += dashedline->DashedLineDataSize;
+        }



More information about the wine-devel mailing list