Commit 1c5e5ded authored by Zhiyi Zhang's avatar Zhiyi Zhang Committed by Alexandre Julliard

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=52713Signed-off-by: 's avatarZhiyi Zhang <zzhang@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent f1d1d88c
...@@ -129,7 +129,7 @@ LRESULT WINAPI UXTHEME_DefDlgProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp, BOO ...@@ -129,7 +129,7 @@ LRESULT WINAPI UXTHEME_DefDlgProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp, BOO
case WM_ERASEBKGND: case WM_ERASEBKGND:
{ {
dlgproc = (WNDPROC)GetWindowLongPtrW(hwnd, DWLP_DLGPROC); dlgproc = (WNDPROC)GetWindowLongPtrW(hwnd, DWLP_DLGPROC);
lr = CallWindowProcW(dlgproc, hwnd, msg, wp, lp); lr = LOWORD(CallWindowProcW(dlgproc, hwnd, msg, wp, lp));
if (lr) if (lr)
return lr; return lr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment