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>
This commit is contained in:
Zhiyi Zhang 2022-03-24 17:05:52 +08:00 committed by Alexandre Julliard
parent f1d1d88c9e
commit 1c5e5ded0f
1 changed files with 1 additions and 1 deletions

View File

@ -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;