Only offset the rect if it's not empty, otherwise we might return negative values Modified: trunk/reactos/subsys/win32k/ntuser/painting.c _____
Modified: trunk/reactos/subsys/win32k/ntuser/painting.c --- trunk/reactos/subsys/win32k/ntuser/painting.c 2005-12-04 22:29:23 UTC (rev 19892) +++ trunk/reactos/subsys/win32k/ntuser/painting.c 2005-12-04 22:30:27 UTC (rev 19893) @@ -769,9 +769,12 @@
UnsafeIntGetRgnBox(Rgn, &Ps.rcPaint); RGNDATA_UnlockRgn(Rgn); IntGdiIntersectRect(&Ps.rcPaint, &Ps.rcPaint, &Window->ClientRect); - IntGdiOffsetRect(&Ps.rcPaint, - -Window->ClientRect.left, - -Window->ClientRect.top); + if (! IntGdiIsEmptyRect(&Ps.rcPaint)) + { + IntGdiOffsetRect(&Ps.rcPaint, + -Window->ClientRect.left, + -Window->ClientRect.top); + } } else {