From d65f49a041d817a957de2c1d67ebe1ada3ff8bc3 Mon Sep 17 00:00:00 2001
From: Hidenori Takeshima <hidenori@a2.ctktv.ne.jp>
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;
-- 
GitLab