gdiplus: Make an intermediate copy of the matrix.
Dmitry Timoshkov
dmitry at codeweavers.com
Wed Dec 3 22:19:09 CST 2008
This patch fixes the problem reported in the bug 16318.
---
dlls/gdiplus/brush.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c
index efcf31d..f9f6174 100644
--- a/dlls/gdiplus/brush.c
+++ b/dlls/gdiplus/brush.c
@@ -934,12 +934,16 @@ GpStatus WINGDIPAPI GdipGetTextureWrapMode(GpTexture *brush, GpWrapMode *wrapmod
GpStatus WINGDIPAPI GdipMultiplyTextureTransform(GpTexture* brush,
GDIPCONST GpMatrix *matrix, GpMatrixOrder order)
{
+ GpMatrix matrix_copy;
+
TRACE("(%p, %p, %d)\n", brush, matrix, order);
if(!brush || !matrix)
return InvalidParameter;
- return GdipMultiplyMatrix(brush->transform, matrix, order);
+ matrix_copy = *matrix;
+
+ return GdipMultiplyMatrix(brush->transform, &matrix_copy, order);
}
/******************************************************************************
--
1.6.0.4
More information about the wine-patches
mailing list