[PATCH v2 3/6] user32: Move unpack_message call to User32CallWindowProc.
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> --- v2: Move even more logic to winproc.c. While this requires exposing more details to PE side (all those packed_* structs), it should make 32on64 easier later. It also fixes WM_COPYDATA (unrelated to above). dlls/user32/message.c | 412 +++-------------------------------- dlls/user32/winproc.c | 486 +++++++++++++++++++++++++++++++++++++++++- dlls/win32u/message.c | 2 + include/ntuser.h | 1 + 4 files changed, 511 insertions(+), 390 deletions(-)
Hi, While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check? Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=111648 Your paranoid android. === debian11 (32 bit report) === user32: win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11763: Test failed: 015000EA: expected NOT topmost win.c:11787: Test failed: 015000EA: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 015000EA is still topmost win.c:11810: Test failed: 001B00A6: expected NOT topmost win.c:11811: Test failed: 015000EA: expected next 00070148, got 00000000 win.c:11811: Test failed: 015000EA: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 015000EA is still topmost win.c:11834: Test failed: 001B00A6: expected NOT topmost win.c:11835: Test failed: 015000EA: expected next 00070148, got 00000000 win.c:11835: Test failed: 015000EA: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 015000EA is still topmost win.c:11869: Test failed: 015000EA: expected next 00070148, got 00000000 win.c:11869: Test failed: 015000EA: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 015000EA is still topmost win.c:11892: Test failed: 015000EA: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 015000EA is still topmost win.c:11903: Test failed: 015000EA: expected next 00070148, got 00000000 win.c:11903: Test failed: 015000EA: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 015000EA is still topmost win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 015000EA is still topmost win.c:11606: Test failed: 1: hwnd 001B00A6 is still topmost win.c:11606: Test failed: 2: hwnd 005400E2 is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 015000EA is still topmost === debian11 (32 bit Chinese:China report) === user32: input.c:2793: Test failed: 4: unexpected WM_MOUSEMOVE message input.c:2804: Test failed: 9: Unexpected cursor movement input.c:2521: Test failed: 10: foreground process expected WM_MOUSEMOVE message input.c:2521: Test failed: 11: foreground process expected WM_MOUSEMOVE message input.c:2521: Test failed: 12: foreground process expected WM_MOUSEMOVE message input.c:1733: Test failed: expected to get 64 mouse move points but got -1 input.c:1744: Test failed: expected to get 64 mouse move points but got -1 === debian11 (32 bit WoW report) === user32: win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11763: Test failed: 014800D6: expected NOT topmost win.c:11787: Test failed: 014800D6: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 014800D6 is still topmost win.c:11810: Test failed: 001B00C0: expected NOT topmost win.c:11811: Test failed: 014800D6: expected next 00070148, got 00000000 win.c:11811: Test failed: 014800D6: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 014800D6 is still topmost win.c:11834: Test failed: 001B00C0: expected NOT topmost win.c:11835: Test failed: 014800D6: expected next 00070148, got 00000000 win.c:11835: Test failed: 014800D6: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 014800D6 is still topmost win.c:11869: Test failed: 014800D6: expected next 00070148, got 00000000 win.c:11869: Test failed: 014800D6: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 014800D6 is still topmost win.c:11892: Test failed: 014800D6: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 014800D6 is still topmost win.c:11903: Test failed: 014800D6: expected next 00070148, got 00000000 win.c:11903: Test failed: 014800D6: expected NOT topmost win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 014800D6 is still topmost win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 014800D6 is still topmost win.c:11606: Test failed: 1: hwnd 001B00C0 is still topmost win.c:11606: Test failed: 2: hwnd 000E00CE is still topmost win.c:11606: Test failed: 3: hwnd 00070148 is still topmost win.c:11606: Test failed: 4: hwnd 014800D6 is still topmost === debian11 (64 bit WoW report) === user32: edit.c:3237: Test failed: got 0 input.c:2793: Test failed: 4: unexpected WM_MOUSEMOVE message input.c:2804: Test failed: 9: Unexpected cursor movement input.c:2521: Test failed: 10: foreground process expected WM_MOUSEMOVE message input.c:2521: Test failed: 11: foreground process expected WM_MOUSEMOVE message input.c:2521: Test failed: 12: foreground process expected WM_MOUSEMOVE message input.c:1733: Test failed: expected to get 64 mouse move points but got -1 input.c:1744: Test failed: expected to get 64 mouse move points but got -1 win.c:11361: Test failed: expected 0000000001EA00E8, got 0000000000270082
participants (2)
-
Jacek Caban -
Marvin