Module: wine Branch: master Commit: 2c3142f0ee4a5fa3aff658b9b46a9f91aea030d4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2c3142f0ee4a5fa3aff658b9b4...
Author: Vincent Povirk vincent@codeweavers.com Date: Wed Aug 14 16:35:11 2013 -0500
gdiplus: Copy custom dashes in GdipClonePen.
---
dlls/gdiplus/pen.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/dlls/gdiplus/pen.c b/dlls/gdiplus/pen.c index 80ede40..9b63db9 100644 --- a/dlls/gdiplus/pen.c +++ b/dlls/gdiplus/pen.c @@ -102,6 +102,7 @@ GpStatus WINGDIPAPI GdipClonePen(GpPen *pen, GpPen **clonepen) (*clonepen)->customstart = NULL; (*clonepen)->customend = NULL; (*clonepen)->brush = NULL; + (*clonepen)->dashes = NULL;
stat = GdipCloneBrush(pen->brush, &(*clonepen)->brush);
@@ -111,6 +112,15 @@ GpStatus WINGDIPAPI GdipClonePen(GpPen *pen, GpPen **clonepen) if (stat == Ok && pen->customend) stat = GdipCloneCustomLineCap(pen->customend, &(*clonepen)->customend);
+ if (stat == Ok && pen->dashes) + { + (*clonepen)->dashes = GdipAlloc(pen->numdashes * sizeof(REAL)); + if ((*clonepen)->dashes) + memcpy((*clonepen)->dashes, pen->dashes, pen->numdashes * sizeof(REAL)); + else + stat = OutOfMemory; + } + if (stat != Ok) { GdipDeletePen(*clonepen);