pDst was advanced too much when decoding DELTA blocks.
diff --git a/dlls/msrle32/msrle32.c b/dlls/msrle32/msrle32.c index 6e34fff..6e81246 100644 --- a/dlls/msrle32/msrle32.c +++ b/dlls/msrle32/msrle32.c
@@ -89,7 +89,7 @@ delta_y = (LONG)*pSrc++; x += delta_x; y += delta_y; - pDst += delta_y * pitch + delta_x; + pDst += delta_y * pitch; break; default: /* RAW */ len = data;