wine-staging/patches/user32-lpCreateParams/0003-user32-Fix-the-pointer-to-custom-dialog-control-data.patch
2016-03-15 18:05:25 +01:00

40 lines
1.4 KiB
Diff

From f878f67e54ac0b53f9aff8abe86cf3397a3cccc3 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 15 Mar 2016 12:37:16 +0800
Subject: user32: Fix the pointer to custom dialog control data.
The fix is suggested by vendor2013@herdsoft.com.
---
dlls/user32/dialog.c | 2 +-
dlls/user32/tests/dialog.c | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/dlls/user32/dialog.c b/dlls/user32/dialog.c
index 3ea426d..738709d 100644
--- a/dlls/user32/dialog.c
+++ b/dlls/user32/dialog.c
@@ -197,7 +197,7 @@ static const WORD *DIALOG_GetControl32( const WORD *p, DLG_CONTROL_INFO *info,
TRACE("\n");
TRACE(" END\n" );
}
- info->data = p + 1;
+ info->data = p;
p += GET_WORD(p) / sizeof(WORD);
}
else info->data = NULL;
diff --git a/dlls/user32/tests/dialog.c b/dlls/user32/tests/dialog.c
index 2715b6b..4289b3f 100644
--- a/dlls/user32/tests/dialog.c
+++ b/dlls/user32/tests/dialog.c
@@ -548,7 +548,6 @@ static LRESULT CALLBACK test_control_procA(HWND hwnd, UINT msg, WPARAM wparam, L
static const short sample[] = { 10,1,2,3,4,5 };
CREATESTRUCTA *cs = (CREATESTRUCTA *)lparam;
short *data = cs->lpCreateParams;
-todo_wine
ok(!memcmp(data, sample, sizeof(sample)), "data mismatch: %d,%d,%d,%d,%d\n", data[0], data[1], data[2], data[3], data[4]);
}
return 0;
--
2.7.1