Module: wine Branch: master Commit: 2e622d104122855c0c51245eae3f0a2cdc04e57c URL: https://gitlab.winehq.org/wine/wine/-/commit/2e622d104122855c0c51245eae3f0a2...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Mon Nov 7 10:47:35 2022 +0800
user32: Use NtUserSetWindowLongPtr() in set_dialog_proc().
Using NtUserSetWindowLong() truncates 64bit dialog procedure pointers to 32bit.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53631
---
dlls/user32/win.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/user32/win.c b/dlls/user32/win.c index 0605f94abe1..3750d4b9643 100644 --- a/dlls/user32/win.c +++ b/dlls/user32/win.c @@ -632,7 +632,7 @@ static LONG_PTR set_dialog_proc( HWND hwnd, LONG_PTR newval, BOOL ansi ) DLGPROC proc; LONG_PTR ret; newval = NtUserCallTwoParam( newval, ansi, NtUserAllocWinProc ); - ret = NtUserSetWindowLong( hwnd, DWLP_DLGPROC, newval, ansi ); + ret = NtUserSetWindowLongPtr( hwnd, DWLP_DLGPROC, newval, ansi ); proc = NtUserGetDialogProc( (DLGPROC)ret, ansi ); if (proc) ret = (UINT_PTR)proc; return ret;