Commit Graph

3856 Commits

Author SHA1 Message Date
Francois Gouget 3ce1d494a6 user32/tests: Make the test_char_from_pos() failures more informative.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-06 19:16:42 +02:00
Jacek Caban d8c807ba98 win32u: Use KeUserModeCallback interface for CopyImage.
Its implementation doesn't seem to be exposed from win32u and it
generally fits well in user space. It will be also useful for drivers.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-05 18:35:12 +02:00
Jacek Caban 70d3e41d64 win32u: Move NtUserCallMsgFilter implementation from user32.
A/W conversion is not used in those cases anyway, so just use a single implementation.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-05 18:35:08 +02:00
Jacek Caban 033cad432e win32u: Copy implementation of AdjustWindowRectEx from user32.
It will be useful for drivers as well.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban d2d715b201 win32u: Move NtUserSetSystemMenu implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban 4604c45540 win32u: Move NtUserGetSystemMenu implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban 189da79a18 win32u: Move NtUserDeleteMenu implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban dc0d16f192 win32u: Move NtUserTranslateAccelerator from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban bad82953db win32u: Move GetMenuItemCount implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban 1899cd2a9e win32u: Move GetMenuState implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban 77ab51019f win32u: Move menu item info management from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban 75c297f2b8 user32: Perform Unicode conversion in InsertMenuItemA.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban d5a367783e user32: Perform Unicode conversion in SetMenuItemInfoA.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban c7a07f73c5 user32: Use MIIM_CHECKMARKS flag in InsertMenuW.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Jacek Caban 926f5bb416 user32: Use GetMenuInfo for IsMenu implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 22:43:53 +02:00
Drew Ronneberg 52a4126bc9 user32: Remove obsolete -D_WINABLE_ from Makefile.in.
Signed-off-by: Drew Ronneberg <drew_ronneberg@yahoo.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-02 11:35:39 +02:00
Francois Gouget 57b3856596 user32/tests: Trace monitor information with 'monitor info'.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-27 17:24:11 +02:00
Alexandre Julliard b67d66f583 user32/tests: Use the standard INPUT type definition.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-27 16:14:24 +02:00
Jacek Caban a37cae58d9 win32u: Use user mode callback for registering builtin classes.
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-04-26 22:21:04 +02:00
Zebediah Figura ba8024bfcd user32: Merge caret.c into input.c.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
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-04-26 22:21:04 +02:00
Zebediah Figura b8732c80b1 win32u: Move caret APIs from user32.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
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-04-26 22:21:04 +02:00
Zebediah Figura 535682cd79 user32: Query CursorBlinkRate from the registry.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
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-04-26 22:21:04 +02:00
Zebediah Figura 5ce53f95cf win32u: Move NtUserTrackMouseEvent() implementation from user32.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
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-04-26 22:21:04 +02:00
Rémi Bernon 68b6e876f0 server: Create message queue and thread input in get_key_state.
This removes the fallback to desktop async keystate and uses instead the
keystate synchronization logic in all cases.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26269
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=27238
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31899
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35907
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45385
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 13:53:29 +02:00
Rémi Bernon f076e5f854 server: Lock thread input keystate whenever it is modified.
And synchronize it with desktop async keystate, on GetKeyState calls,
if it is not locked yet.

Based on a patch from Sebastian Lackner <sebastian@fds-team.de>.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26269
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=27238
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31899
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35907
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45385
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 13:53:26 +02:00
Rémi Bernon ff74d5c244 server: Create message queue and thread input in set_key_state.
This marks one test case as todo, but it was an outlier, and the 'X' key
state is now wrong in all cases. Overall this makes the tests results
more coherent.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26269
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=27238
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=31899
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35907
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45385
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-26 13:53:18 +02:00
Jacek Caban eba0a51002 win32u: Move clipboard data management 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-04-25 20:34:47 +02:00
Jacek Caban ea9fb81c09 win32u: Move EnumClipboardFormats 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-04-22 21:42:20 +02:00
Jacek Caban 357d8654c9 win32u: Move NtUserChangeClipboardChain 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-04-22 21:42:20 +02:00
Jacek Caban c38e287bef win32u: Move NtUserSetClipboardViewer 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-04-22 21:42:20 +02:00
Jacek Caban 172ae86945 win32u: Move NtUserSetMenuDefaultItem 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-04-22 21:42:20 +02:00
Jacek Caban 99b94fcc74 win32u: Move NtUserThunkedMenuInfo 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-04-22 21:42:20 +02:00
Zhiyi Zhang a1dda8c376 win32u: Return -1 for NUMCOLORS with 8-bit display DCs.
According to tests, GetDeviceCaps(NUMCOLORS) returns -1 for display DCs when the current display
mode is 8-bit on newer versions of Windows, which makes sense because lower bit depth display modes
are actually emulated with 32-bit modes.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52679
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-21 14:44:58 +02:00
Zhiyi Zhang bfed433024 user32/tests: Test NUMCOLORS for display DCs.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-21 14:44:55 +02:00
Zhiyi Zhang 6c784f2c46 user32/tests: Avoid unnecessary display mode changes.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-21 14:44:49 +02:00
Zebediah Figura ea4353858d user32: Do not call the lparam for WM_SYSTIMER messages.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-21 14:41:48 +02:00
Zebediah Figura 5e4dedff8e win32u: Remove the "proc" parameter to NtUserSetSystemTimer().
Testing on 32-bit Windows 10 suggests that the function only has three
parameters. The test fixed in this patch (which still succeeds on e.g. Windows
2003) suggests that the final parameter to SetSystemTimer() is not a callback,
either.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-21 14:41:22 +02:00
Zebediah Figura 079b0423b5 user32: Update mouse tracking information based on the timer ID in DispatchMessage().
Avoid passing a callback to NtUserSetSystemTimer(); it does not support one.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-21 14:41:08 +02:00
Zebediah Figura 95378c56b8 user32: Toggle the caret based on the timer ID in DispatchMessage().
Avoid passing a callback to NtUserSetSystemTimer(); it does not support one.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-21 14:40:59 +02:00
Jacek Caban 782220626f win32u: Move GetMenuInfo 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-04-20 17:31:15 +02:00
Jacek Caban 9015ae5978 win32u: Move NtUserSetMenu implemenetation 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-04-20 17:31:08 +02:00
Jacek Caban 19a2af2767 win32u: Move NtUserGetMenuItemRect 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-04-20 17:31:03 +02:00
Jacek Caban d275253f5d win32u: Move NtUserSetMenuContextHelpId 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-04-20 17:30:58 +02:00
Jacek Caban 0528f37fdd win32u: Move NtUserFindWindowEx 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-04-19 17:37:00 +02:00
Jacek Caban 356f37466f win32u: Expose public parts of user_thread_info in ntuser.h.
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-04-19 17:36:34 +02:00
Jacek Caban 35ac1b3f07 win32u: Move more WM_SYSCOMMAND 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-04-15 20:55:03 +02:00
Jacek Caban bed878dd2b win32u: Move ShowOwnedPopups 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-04-15 20:54:57 +02:00
Jacek Caban a2dcfd1d6d win32u: Move DrawMenuBar 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-04-15 20:54:54 +02:00
Jacek Caban 2c7b8e0011 win32u: Move NtUserEnableMenuItem 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-04-15 20:54:49 +02:00
Jacek Caban a4d6198ac5 win32u: Move NtUserCheckMenuItem 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-04-15 20:54:45 +02:00