diff --git a/dlls/gdiplus/region.c b/dlls/gdiplus/region.c index f11f3ca3669..0afbdbd3e4f 100644 --- a/dlls/gdiplus/region.c +++ b/dlls/gdiplus/region.c @@ -683,17 +683,18 @@ GpStatus WINGDIPAPI GdipGetRegionBounds(GpRegion *region, GpGraphics *graphics, return Ok; } - if(!GetRgnBox(hrgn, &r)){ - DeleteObject(hrgn); - return GenericError; + if(GetRgnBox(hrgn, &r)){ + rect->X = r.left; + rect->Y = r.top; + rect->Width = r.right - r.left; + rect->Height = r.bottom - r.top; } + else + status = GenericError; - rect->X = r.left; - rect->Y = r.top; - rect->Width = r.right - r.left; - rect->Height = r.bottom - r.top; + DeleteObject(hrgn); - return Ok; + return status; } /*****************************************************************************