Zhiyi Zhang : uxtheme: Check only the lower 16 bits of the return value of WM_ERASEBKGND.

Alexandre Julliard julliard at winehq.org
Mon Mar 28 15:53:39 CDT 2022


Module: wine
Branch: master
Commit: 1c5e5ded0ffe414a49d2510f4ef65a737051ee43
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=1c5e5ded0ffe414a49d2510f4ef65a737051ee43

Author: Zhiyi Zhang <zzhang at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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;
 




More information about the wine-cvs mailing list