diff --git a/reactos/subsystems/win32/win32k/dib/dib24bpp.c b/reactos/subsystems/win32/win32k/dib/dib24bpp.c index 24fda4a40f5..d3c60d43236 100644 --- a/reactos/subsystems/win32/win32k/dib/dib24bpp.c +++ b/reactos/subsystems/win32/win32k/dib/dib24bpp.c @@ -258,7 +258,7 @@ DIB_24BPP_BitBlt(PBLTINFO BltInfo) { if (BltInfo->PatternSurface) { - PatternY = (BltInfo->DestRect.top + BltInfo->BrushOrigin.y) % + PatternY = (BltInfo->DestRect.top - BltInfo->BrushOrigin.y) % BltInfo->PatternSurface->sizlBitmap.cy; } else @@ -281,8 +281,8 @@ DIB_24BPP_BitBlt(PBLTINFO BltInfo) } if (BltInfo->PatternSurface) - { - Pattern = DIB_GetSource(BltInfo->PatternSurface, (DestX + BltInfo->BrushOrigin.x) % BltInfo->PatternSurface->sizlBitmap.cx, PatternY, BltInfo->XlatePatternToDest); + { + Pattern = DIB_GetSource(BltInfo->PatternSurface, (DestX - BltInfo->BrushOrigin.x) % BltInfo->PatternSurface->sizlBitmap.cx, PatternY, BltInfo->XlatePatternToDest); } Dest = DIB_DoRop(BltInfo->Rop4, Dest, Source, Pattern) & 0xFFFFFF;