diff --git a/dlls/gdi32/tests/clipping.c b/dlls/gdi32/tests/clipping.c index 0ae3eb6ff56..eff87c3c463 100644 --- a/dlls/gdi32/tests/clipping.c +++ b/dlls/gdi32/tests/clipping.c @@ -162,12 +162,16 @@ static void verify_region(HRGN hrgn, const RECT *rc) if (IsRectEmpty(rc)) { ok(rgn.data.rdh.nCount == 0, "expected 0, got %u\n", rgn.data.rdh.nCount); - ok(rgn.data.rdh.nRgnSize == 0, "expected 0, got %u\n", rgn.data.rdh.nRgnSize); + ok(rgn.data.rdh.nRgnSize == 0 || + broken(rgn.data.rdh.nRgnSize == 168), /* NT4 */ + "expected 0, got %u\n", rgn.data.rdh.nRgnSize); } else { ok(rgn.data.rdh.nCount == 1, "expected 1, got %u\n", rgn.data.rdh.nCount); - ok(rgn.data.rdh.nRgnSize == sizeof(RECT), "expected sizeof(RECT), got %u\n", rgn.data.rdh.nRgnSize); + ok(rgn.data.rdh.nRgnSize == sizeof(RECT) || + broken(rgn.data.rdh.nRgnSize == 168), /* NT4 */ + "expected sizeof(RECT), got %u\n", rgn.data.rdh.nRgnSize); } ok(EqualRect(&rgn.data.rdh.rcBound, rc), "rects don't match\n"); } @@ -236,9 +240,14 @@ if (0) /* crashes under Win9x */ SetLastError(0xdeadbeef); hrgn = ExtCreateRegion(NULL, 1, &rgn.data); - ok(hrgn != 0, "ExtCreateRegion error %u\n", GetLastError()); - verify_region(hrgn, &rc); - DeleteObject(hrgn); + ok(hrgn != 0 || + broken(GetLastError() == 0xdeadbeef), /* NT4 */ + "ExtCreateRegion error %u\n", GetLastError()); + if(hrgn) + { + verify_region(hrgn, &rc); + DeleteObject(hrgn); + } xform.eM11 = 0.5; /* 50% width */ xform.eM12 = 0.0;