From d65f49a041d817a957de2c1d67ebe1ada3ff8bc3 Mon Sep 17 00:00:00 2001 From: Hidenori Takeshima Date: Tue, 19 Feb 2002 18:26:54 +0000 Subject: [PATCH] Fixed bugs in processing DELTA. --- dlls/msrle32/msrle32.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/msrle32/msrle32.c b/dlls/msrle32/msrle32.c index 0a537fbf295..482bb0f2057 100644 --- a/dlls/msrle32/msrle32.c +++ b/dlls/msrle32/msrle32.c @@ -47,6 +47,7 @@ static LONG MSRLE32_DecompressRLE8( LONG width, LONG height ) { LONG x,y; + LONG delta_x,delta_y; int len; UINT data; @@ -70,7 +71,11 @@ static LONG MSRLE32_DecompressRLE8( case 1: /* END */ return ICERR_OK; case 2: /* DELTA */ - x += (LONG)*pSrc++; y += (LONG)*pSrc++; + delta_x = (LONG)*pSrc++; + delta_y = (LONG)*pSrc++; + x += delta_x; + y += delta_y; + pDst += delta_y * pitch + delta_x; break; default: /* RAW */ len = data;