when set_window_pos the second param is HWND_TOPMOST, window with WS_CHILD do not change z order.
Signed-off-by: cuijiajin cuijiajin@uniontech.com --- dlls/user32/tests/win.c | 88 +++++++++++++++++++++++++++++++++++++++++ dlls/user32/winpos.c | 6 +++ 2 files changed, 94 insertions(+)
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=72613
Your paranoid android.
=== w1064v1809 (32 bit report) ===
user32: win.c:3251: Test failed: GetActiveWindow() = 0003004C win.c:3254: Test failed: GetFocus() = 00000000 win.c:3266: Test failed: GetFocus() = 00000000 win.c:3269: Test failed: GetFocus() = 00000000 win.c:3272: Test failed: GetFocus() = 00000000 win.c:3275: Test failed: GetActiveWindow() = 0003004C win.c:3279: Test failed: GetFocus() = 00000000 win.c:3282: Test failed: GetFocus() = 00000000 win.c:3976: Test failed: hwnd 00020174/002702D2 message 0737 win.c:3981: Test failed: hwnd 002702D2/002702D2 message 0202 win.c:3986: Test failed: hwnd 002702D2/002702D2 message 0203 win.c:3990: Test failed: message 0202 available
=== w1064v1809_2scr (32 bit report) ===
user32: win.c:3251: Test failed: GetActiveWindow() = 0004007E win.c:3254: Test failed: GetFocus() = 00000000 win.c:3266: Test failed: GetFocus() = 00000000 win.c:3269: Test failed: GetFocus() = 00000000 win.c:3272: Test failed: GetFocus() = 00000000 win.c:3275: Test failed: GetActiveWindow() = 0004007E win.c:3279: Test failed: GetFocus() = 00000000 win.c:3282: Test failed: GetFocus() = 00000000 win.c:3976: Test failed: hwnd 0006001C/000C0326 message 0737 win.c:3981: Test failed: hwnd 000C0326/000C0326 message 0202 win.c:3986: Test failed: hwnd 000C0326/000C0326 message 0203 win.c:3990: Test failed: message 0202 available win.c:10061: Test failed: pos = 00e700d0 win.c:10065: Test failed: pos = 00e700d0 win.c:10069: Test failed: pos = 00e700d0
=== w1064v1809_ja (32 bit report) ===
user32: win.c:3936: Test failed: hwnd 000202EE message 7fff win.c:4015: Test failed: hwnd 000202EE/0006035E message 7fff win.c:4018: Test failed: hwnd 000202EE/0006035E message 7fff
=== w1064v1809_zh_CN (32 bit report) ===
user32: win.c:3936: Test failed: hwnd 00010388 message 0282 win.c:4015: Test failed: hwnd 00010388/000D03AC message 0282 win.c:4018: Test failed: hwnd 00010388/000D03AC message 0282
=== w1064v1809 (64 bit report) ===
user32: win.c:3251: Test failed: GetActiveWindow() = 000000000003004A win.c:3254: Test failed: GetFocus() = 0000000000000000 win.c:3266: Test failed: GetFocus() = 0000000000000000 win.c:3269: Test failed: GetFocus() = 0000000000000000 win.c:3272: Test failed: GetFocus() = 0000000000000000 win.c:3275: Test failed: GetActiveWindow() = 000000000003004A win.c:3279: Test failed: GetFocus() = 0000000000000000 win.c:3282: Test failed: GetFocus() = 0000000000000000 win.c:3976: Test failed: hwnd 00000000000200E4/00000000001602D2 message 0737 win.c:3981: Test failed: hwnd 00000000001602D2/00000000001602D2 message 0202 win.c:3986: Test failed: hwnd 00000000001602D2/00000000001602D2 message 0203 win.c:3990: Test failed: message 0202 available
=== debiant (32 bit report) ===
user32: combo.c:698: Test failed: 00000002: got 00000080 combo.c:704: Test failed: 00000002: got 00000080 combo.c:698: Test failed: 00000003: got 00000080 combo.c:704: Test failed: 00000003: got 00000080
=== debiant (32 bit Chinese:China report) ===
user32: combo.c:698: Test failed: 00000002: got 00000080 combo.c:704: Test failed: 00000002: got 00000080 combo.c:698: Test failed: 00000003: got 00000080 combo.c:704: Test failed: 00000003: got 00000080
=== debiant (32 bit WoW report) ===
user32: combo.c:698: Test failed: 00000002: got 00000080 combo.c:704: Test failed: 00000002: got 00000080 combo.c:698: Test failed: 00000003: got 00000080 combo.c:704: Test failed: 00000003: got 00000080
=== debiant (64 bit WoW report) ===
user32: combo.c:698: Test failed: 00000002: got 00000080 combo.c:704: Test failed: 00000002: got 00000080 combo.c:698: Test failed: 00000003: got 00000080 combo.c:704: Test failed: 00000003: got 00000080
Please use your real name when submitting patches and read https://wiki.winehq.org/SubmittingPatches
+if (!is_wine) /* FIXME: remove once Wine is fixed */
- check_z_order(hwnd_A, 0, hwnd_B, 0, TRUE);
There is a todo_wine macro for this. You should first add the tests containing todo_wines and add a following patch to fix the bug and remove the todo_wine.
There are also some styling issues with this patch. Please use a similar style of the surrounding code.
And is this for a specific application?
Thanks, Zhiyi
On 2020/6/2 10:02, cuijiajin@uniontech.com wrote:
when set_window_pos the second param is HWND_TOPMOST, window with WS_CHILD do not change z order.
Signed-off-by: cuijiajin cuijiajin@uniontech.com
dlls/user32/tests/win.c | 88 +++++++++++++++++++++++++++++++++++++++++ dlls/user32/winpos.c | 6 +++ 2 files changed, 94 insertions(+)