Commit Graph

3600 Commits

Author SHA1 Message Date
Jacek Caban 4b0c0a6b23 win32u: Move primary palette handling from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-17 22:16:03 +01:00
Jacek Caban fa3bd8f417 win32u: Move NtUserGetForegroundWindow implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-17 22:16:03 +01:00
Jacek Caban e557f48cdf win32u: Set user callbacks from user32 DllMain.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-17 22:16:03 +01:00
Jacek Caban cc0ad23d73 user32: Delay load setupapi.
This reverts 50aeb5e777. Previously
problematic code is now moved to win32u and doesn't use setupapi.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-17 22:16:03 +01:00
Jacek Caban 8714eb2fef win32u: Move UnhookWindowsHook implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 22:05:33 +01:00
Jacek Caban 6490088e74 win32u: Move NtUserUnhookWindowsHookEx implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 22:05:33 +01:00
Jacek Caban fcf7d2a140 win32u: Move NtUserSetWindowsHookEx implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 22:05:33 +01:00
Jacek Caban 01b3674247 win32u: Move NtUserNotifyWinEvent implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 22:05:33 +01:00
Jacek Caban d76b38ffb6 win32u: Move NtUserSetWinEventHook implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 22:05:33 +01:00
Jacek Caban 0e37c67488 win32u: Move NtUserUnhookWinEvent implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-16 22:05:33 +01:00
Jacek Caban 9f6c004bb0 win32u: Move ThreadDetach driver call from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:53 +01:00
Jacek Caban d6ae45b530 win32u: Move NtUserGetAsyncKeyState implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:53 +01:00
Jacek Caban bd604c80ea win32u: Reset thread info in NtUserSetThreadDesktop.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:53 +01:00
Jacek Caban 308ca7f6b1 win32u: Move GetInputState implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:53 +01:00
Jacek Caban a4245969f1 win32u: Move NtUserGetQueueStatus implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:53 +01:00
Jacek Caban a8b0b07c45 win32u: Move window surfaces list from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-15 22:59:53 +01:00
Jacek Caban b5b9126c73 win32u: Move GetCursorPos implementation from user.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-14 21:20:41 +01:00
Jacek Caban 8c5befe49b win32u: Move MessageBeep implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-14 21:20:41 +01:00
Jacek Caban 5d308b1606 win32u: Move NtUserSetCursorPos implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-14 21:20:41 +01:00
Jacek Caban 1af4919a3f win32u: Move GetClipCursor implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-14 21:20:41 +01:00
Jacek Caban 91c095cd46 win32u: Move NtUserClipCursor implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-14 21:20:41 +01:00
Jacek Caban db8fcc1c9d win32u: Move monitor_from_rect implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-14 21:20:41 +01:00
Dmitry Timoshkov 7d2abd5912 user32: DefWindowProc(WM_NCCALCSIZE) should return 0.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=37609
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 22:40:45 +01:00
Dmitry Timoshkov d65e280751 user32/tests: Add more tests for WM_NCCALCSIZE.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 22:40:45 +01:00
Dmitry Timoshkov b4815849af user32/tests: Add more missing ShowWindow() return value checks.
Also change 'BOOL ret' to 'LRESULT ret' to avoid introducing new
variable for DefWindowProc() return value checks in the next patch.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 22:40:45 +01:00
Jacek Caban f139b06651 server: Store all 64 bits of window id.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 18:15:04 +01:00
Jacek Caban 6366694d2b user32: Destroy window server objects from destroy_thread_windows.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 18:11:20 +01:00
Jacek Caban 72ec1c18a0 user32: Use a single lock in destroy_thread_windows.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 18:11:14 +01:00
Zhiyi Zhang 19a77a8b6a uxtheme: Use COLOR_BTNFACE to fill scroll bar background.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 10:44:10 +01:00
Zhiyi Zhang 0457376c0a user32: Use COLOR_BTNFACE to fill scroll bar background.
Fix foobar2000 wrong scroll bar size box color when theming is on.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 10:44:10 +01:00
Zhiyi Zhang 329abd8fb9 user32/tests: Test scroll bars use COLOR_BTNFACE instead of COLOR_SCROLLBAR to fill background.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 10:44:10 +01:00
Jacek Caban 3cbccd4477 server: Don't allow creating children of orphaned windows.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:32 +01:00
Jacek Caban 862d0eeff9 server: Orphan child windows when unlinking them from parent.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:32 +01:00
Jacek Caban 82572350cd server: Don't allow orphaned windows in set_parent request.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:32 +01:00
Rémi Bernon ce3abc225f user32/tests: Add a test for child window destruction on thread exit.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:32 +01:00
Jacek Caban 078bcc066c server: Don't immediately destroy child windows belonging to different thread in free_window_handle.
Notify their thread instead.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:37:32 +01:00
Alex Henrie 62910fffa4 user32/tests: Expect DialogBoxParam to set ERROR_CANNOT_FIND_WND_CLASS.
Fixes a testbot failure.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 15:48:36 +01:00
Rémi Bernon fb9237cf34 user32/tests: Move test_mdi early in the test list.
The test gets spurious GetScrollInfo SB_HORZ failures if some other
windows were created before using CW_USEDEFAULT positions, for instance
the window from test_capture_4.

This happened on some Win10 VMs, and was thought to be fixed with
9b5346df86bf1a85336ed03a67a630970ce08e9f, but it then broke the test on
some other VMs. This is hopefully a better fix, and it reverts the
previous one too.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=52507
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 17:32:59 +01:00
Dmitry Timoshkov cc91ba6da7 user32/tests: Actually test ShowWindow() return value.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-03 22:40:17 +01:00
Eric Pouech 10e0867f86 user32: Use correct integral type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 13:46:34 +01:00
Zebediah Figura 69fd35d57d user32/tests: Remove unnecessary redefinitions of SPI_GETDESKWALLPAPER.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-01 18:23:18 +01:00
Zebediah Figura 60c20ee2c5 user32: Remove no longer needed assert() workarounds for MinGW.
We build with msvcrt, so we don't link against MinGW's assert() anymore.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-01 18:23:18 +01:00
Rémi Bernon 9fea10cceb user32/tests: Add some possible broken results on Win7.
Can be reproduced randomly even without user32:monitor, for instance
running user32:win in a fresh Win7 VM.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=51392
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 22:31:01 +01:00
Rémi Bernon ebe3cea01d user32/tests: Add proper tests for SetActiveWindow(0).
Shows that it switches focus to some other process window and back, and
only on some older Windows versions. Win10 simply returns 0 and does
nothing.

Stop calling it elsewhere, as it makes focus go to an unpredictable
window, which may very well not be ours.

Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=51391
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=51130
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 22:31:01 +01:00
Rémi Bernon fa28e05cf5 user32/tests: Ignore messages for UserAdapterWindowClass windows.
Wine-Bug: https://bugs.winehq.org//show_bug.cgi?id=48815
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 22:31:01 +01:00
Rémi Bernon 34d1c100b0 user32/tests: Tweak window size to fix Win10 results.
Fix these failures:

> win.c:2445: Test failed: style 0x200000: expected !100
> win.c:2445: Test failed: style 0x300000: expected !100

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 22:31:01 +01:00
Fabian Maurer c027874439 user32/tests: Avoid "misleading indentation" warnings.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-31 18:38:54 +01:00
Alex Henrie ddfb6d518e user32: Send EVENT_OBJECT_FOCUS when the focus changes.
The NVDA screen reader needs this.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Rémi Bernon 30af95f45d user32: Remove FIXME from RegisterDeviceNotificationA.
There's no conversion to do, the device name in the filter is ignored.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Rémi Bernon 41ff8effa3 user32: Add a filter member to device_notification_details.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00