The clip list is in screen coordinates so we need to map the result of GetRandomRgn if the Windows version is win9x.
diff --git a/dlls/ddraw/clipper.c b/dlls/ddraw/clipper.c index eac48b3..d1109b3 100644 --- a/dlls/ddraw/clipper.c +++ b/dlls/ddraw/clipper.c
@@ -157,6 +157,13 @@ HRGN hRgn = CreateRectRgn(0,0,0,0); if (GetRandomRgn(hDC, hRgn, SYSRGN)) { + if (GetVersion() & 0x80000000) + { + /* map region to screen coordinates */ + POINT org; + GetDCOrgEx( hDC, &org ); + OffsetRgn( hRgn, org.x, org.y ); + } if (lpRect) { HRGN hRgnClip = CreateRectRgn(lpRect->left, lpRect->top,