This fixes the msvfw32:mciwnd tests.
On a side note: I'd expect there to be a `NtCallbackReturn()` for this case as well, but it's not there. That issue can probably wait until after the fix for [bug 55152](https://bugs.winehq.org/show_bug.cgi?id=55152) though.
From: Sven Baars sbaars@codeweavers.com
--- dlls/wow64win/user.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/wow64win/user.c b/dlls/wow64win/user.c index 602ccfa79b9..0c2a02e694b 100644 --- a/dlls/wow64win/user.c +++ b/dlls/wow64win/user.c @@ -580,11 +580,14 @@ static UINT hook_lparam_64to32( struct win_hook_params *params, const void *lp, { const CREATESTRUCTW *cs = lp; CREATESTRUCT32 *cs32 = lp32; + UINT size = params->lparam_size - sizeof(*cs); + createstruct_64to32( cs, cs32 ); cs32->lpszName = PtrToUlong( cs->lpszName ); cs32->lpszClass = PtrToUlong( cs->lpszClass ); + if (size) memcpy( cs32 + 1, cs + 1, size ); } - return sizeof(CREATESTRUCT32); + return params->lparam_size - sizeof(CREATESTRUCTW) + sizeof(CREATESTRUCT32);
case HCBT_ACTIVATE: if (lp)
That issue can probably wait until after the fix for [bug 55152](https://bugs.winehq.org/show_bug.cgi?id=55152) though.
As part of that fix, I rewrote the part that you're changing. I created !3346, I think it can replace this MR.
This merge request was closed by Sven Baars.
That merge request seems to have fixed it indeed, thanks.