Module: wine Branch: master Commit: 1c5e5ded0ffe414a49d2510f4ef65a737051ee43 URL: https://source.winehq.org/git/wine.git/?a=commit;h=1c5e5ded0ffe414a49d2510f4...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Thu Mar 24 17:05:52 2022 +0800
uxtheme: Check only the lower 16 bits of the return value of WM_ERASEBKGND.
call_dialog_proc16() truncates the return values from 16-bit application window procedures to 16 bits. Since WINPROC_CallDlgProcA() is not available in uxtheme, CallWindowProcW() is used instead and the higher bits should be ignored as well.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52713 Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/uxtheme/dialog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/uxtheme/dialog.c b/dlls/uxtheme/dialog.c index b91e20f0f33..706d170936e 100644 --- a/dlls/uxtheme/dialog.c +++ b/dlls/uxtheme/dialog.c @@ -129,7 +129,7 @@ LRESULT WINAPI UXTHEME_DefDlgProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp, BOO case WM_ERASEBKGND: { dlgproc = (WNDPROC)GetWindowLongPtrW(hwnd, DWLP_DLGPROC); - lr = CallWindowProcW(dlgproc, hwnd, msg, wp, lp); + lr = LOWORD(CallWindowProcW(dlgproc, hwnd, msg, wp, lp)); if (lr) return lr;