Signed-off-by: Shawn M. Chapla schapla@codeweavers.com --- dlls/gdi32/enhmetafile.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/gdi32/enhmetafile.c b/dlls/gdi32/enhmetafile.c index fc3389ff23f..4d6531644b9 100644 --- a/dlls/gdi32/enhmetafile.c +++ b/dlls/gdi32/enhmetafile.c @@ -1622,9 +1622,12 @@ BOOL WINAPI PlayEnhMetaFileRecord( case EMR_POLYDRAW: { const EMRPOLYDRAW *lpPolyDraw = (const EMRPOLYDRAW *)mr; + + /* NB abTypes array doesn't start at lpPolyDraw->abTypes. It's actually + lpPolyDraw->aptl + lpPolyDraw->cptl. */ PolyDraw( hdc, (const POINT*)lpPolyDraw->aptl, - lpPolyDraw->abTypes, + (BYTE*)(lpPolyDraw->aptl + lpPolyDraw->cptl), (INT)lpPolyDraw->cptl );
break;