Module: wine Branch: master Commit: 69e17d6a6a879aaf1b3bafe87d3fe3b99c8f3feb URL: http://source.winehq.org/git/wine.git/?a=commit;h=69e17d6a6a879aaf1b3bafe87d...
Author: Nikolay Sivov bunglehead@gmail.com Date: Wed Sep 3 00:25:39 2008 +0400
gdiplus: GdipGetLineGammaCorrection should check result pointer. Test added.
---
dlls/gdiplus/brush.c | 2 +- dlls/gdiplus/tests/brush.c | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/brush.c b/dlls/gdiplus/brush.c index b8c5870..8bb807b 100644 --- a/dlls/gdiplus/brush.c +++ b/dlls/gdiplus/brush.c @@ -631,7 +631,7 @@ GpStatus WINGDIPAPI GdipGetLineGammaCorrection(GpLineGradient *line, { TRACE("(%p, %p)\n", line, usinggamma);
- if(!line) + if(!line || !usinggamma) return InvalidParameter;
*usinggamma = line->gamma; diff --git a/dlls/gdiplus/tests/brush.c b/dlls/gdiplus/tests/brush.c index 6711fe4..c9f9826 100644 --- a/dlls/gdiplus/tests/brush.c +++ b/dlls/gdiplus/tests/brush.c @@ -145,6 +145,30 @@ static void test_getbounds(void) GdipDeleteBrush((GpBrush*) brush); }
+static void test_getgamma(void) +{ + GpStatus status; + GpLineGradient *line; + GpPointF start, end; + BOOL gamma; + + start.X = start.Y = 0.0; + end.X = end.Y = 100.0; + + status = GdipCreateLineBrush(&start, &end, (ARGB)0xdeadbeef, 0xdeadbeef, WrapModeTile, &line); + expect(Ok, status); + + /* NULL arguments */ + status = GdipGetLineGammaCorrection(NULL, NULL); + expect(InvalidParameter, status); + status = GdipGetLineGammaCorrection(line, NULL); + expect(InvalidParameter, status); + status = GdipGetLineGammaCorrection(NULL, &gamma); + expect(InvalidParameter, status); + + GdipDeleteBrush((GpBrush*)line); +} + START_TEST(brush) { struct GdiplusStartupInput gdiplusStartupInput; @@ -162,6 +186,7 @@ START_TEST(brush) test_gradientblendcount(); test_getblend(); test_getbounds(); + test_getgamma();
GdiplusShutdown(gdiplusToken); }