diff --git a/dlls/gdi32/region.c b/dlls/gdi32/region.c index 4899d439b73..cad6428dc9b 100644 --- a/dlls/gdi32/region.c +++ b/dlls/gdi32/region.c @@ -2457,8 +2457,8 @@ static unsigned int REGION_CreateEdgeTable(const INT *Count, INT nbpolygons, REGION_InsertEdgeInET(ET, pETEs, top->y, &pSLLBlock, &iSLLBlock); - if (PrevPt->y > ET->ymax) ET->ymax = PrevPt->y; - if (PrevPt->y < ET->ymin) ET->ymin = PrevPt->y; + if (top->y < ET->ymin) ET->ymin = top->y; + if (bottom->y > ET->ymax) ET->ymax = bottom->y; pETEs++; } } diff --git a/dlls/gdi32/tests/path.c b/dlls/gdi32/tests/path.c index 2356b968453..f4a9d187442 100644 --- a/dlls/gdi32/tests/path.c +++ b/dlls/gdi32/tests/path.c @@ -1910,7 +1910,7 @@ static void test_clipped_polygon_fill(void) oldbmp = SelectObject( memdc, bmp ); Polygon( memdc, pts, ARRAY_SIZE(pts) ); col = GetPixel( memdc, 1, 1 ); - todo_wine ok( col == RGB( 0x11, 0x22, 0x33 ), "got %06x\n", col ); + ok( col == RGB( 0x11, 0x22, 0x33 ), "got %06x\n", col ); SelectObject( memdc, oldbrush ); SelectObject( memdc, oldbmp ); DeleteObject( brush );