From 6dc54686208ccba4e7e6e69a21a56e13d108c296 Mon Sep 17 00:00:00 2001 From: Vincent Povirk Date: Thu, 7 May 2009 11:40:13 -0500 Subject: [PATCH] gdiplus: store the rect passed to GdipCreateLineBrushFromRect --- dlls/gdiplus/brush.c | 8 +++++++- dlls/gdiplus/tests/brush.c | 8 ++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c index 7372ec0..cd1ba7f 100644 --- a/dlls/gdiplus/brush.c +++ b/dlls/gdiplus/brush.c @@ -301,6 +301,7 @@ GpStatus WINGDIPAPI GdipCreateLineBrushFromRect(GDIPCONST GpRectF* rect, GpLineGradient **line) { GpPointF start, end; + GpStatus stat; TRACE("(%p, %x, %x, %d, %d, %p)\n", rect, startcolor, endcolor, mode, wrap, line); @@ -313,7 +314,12 @@ GpStatus WINGDIPAPI GdipCreateLineBrushFromRect(GDIPCONST GpRectF* rect, end.X = rect->X + rect->Width; end.Y = rect->Y + rect->Height; - return GdipCreateLineBrush(&start, &end, startcolor, endcolor, wrap, line); + stat = GdipCreateLineBrush(&start, &end, startcolor, endcolor, wrap, line); + + if (stat == Ok) + (*line)->rect = *rect; + + return stat; } GpStatus WINGDIPAPI GdipCreateLineBrushFromRectI(GDIPCONST GpRect* rect, diff --git a/dlls/gdiplus/tests/brush.c b/dlls/gdiplus/tests/brush.c index c6e7fd0..92246c2 100644 --- a/dlls/gdiplus/tests/brush.c +++ b/dlls/gdiplus/tests/brush.c @@ -379,10 +379,10 @@ static void test_gradientgetrect(void) memset(&rectf, 0, sizeof(GpRectF)); status = GdipGetLineRect(brush, &rectf); expect(Ok, status); - todo_wine expectf(10.0, rectf.X); - todo_wine expectf(10.0, rectf.Y); - todo_wine expectf(-100.0, rectf.Width); - todo_wine expectf(-100.0, rectf.Height); + expectf(10.0, rectf.X); + expectf(10.0, rectf.Y); + expectf(-100.0, rectf.Width); + expectf(-100.0, rectf.Height); status = GdipDeleteBrush((GpBrush*)brush); } -- 1.5.4.3