Rémi Bernon
ae7458aca6
user32: Inform rawinput_from_hardware_message of available buffer size.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 12:30:36 +02:00
Rémi Bernon
e8498788e8
server: Add hardware_msg_data size for variable size messages.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 12:30:36 +02:00
Francois Gouget
35180d368a
user32/tests: Trace GetLastError() when OpenClipboard() fails in edit.
...
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 21:54:19 +02:00
Francois Gouget
764e7d0854
user32/tests: Fix a typo in a comment.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-28 21:54:08 +02:00
Piotr Caban
a1ca90d68a
user32: Depend on SetWindowPos to refresh window manager hints in SetWindowRgn.
...
Otherwise both on Linux and Mac, the window will not restore title bar
when it becomes non-shaped until it's e.g. moved.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-27 21:25:56 +02:00
Zebediah Figura
d2259665b4
user32: Blit the right bitmap when stretching monochrome icons in CopyImage().
...
Fixes: beb70a79e1
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-25 09:30:05 +02:00
Zebediah Figura
0da35c26a1
user32: Implement InternalGetWindowIcon().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47915
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:42:37 +02:00
Zebediah Figura
5df5972f9a
user32: Reimplement CopyIcon() on top of CopyImage().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:42:37 +02:00
Zebediah Figura
beb70a79e1
user32: Implement stretching of cursor and icon objects in CopyImage().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:42:37 +02:00
Zebediah Figura
db2b266c57
user32: Handle monochrome icons in CreateIcon() and CreateCursor() instead of CreateIconIndirect().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:42:37 +02:00
Francois Gouget
cf85253a9c
user32/tests: Fix the clipboard format id vs. atom table checks.
...
One cannot assume that a random integer has zero chance of being a valid
atom.
Reenable the GlobalFindAtomA() check in a todo_wine.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-21 08:56:33 +02:00
Rémi Bernon
ba7d543c5c
user32/tests: Use int for wait_move_event delay type.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 22:05:32 +02:00
Francois Gouget
948f20312b
user32/tests: Fix the clipboard CF_LOCALE test.
...
By default CF_LOCALE matches the current input language, not the default
user LCID.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 22:05:32 +02:00
Francois Gouget
a5639d62b5
user32/tests: Avoid copying the clipboard buffer sizes everywhere.
...
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 22:05:32 +02:00
Rémi Bernon
454712a94d
user32: Add a default WindowPosChanging implementation.
...
Which creates an off-screen window surface for top-level non-layered or
SLWA-layered windows.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-20 21:48:57 +02:00
Zhiyi Zhang
095bdc6c43
user32: Add a cache for EnumDisplayDevicesW().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 21:25:00 +02:00
Zhiyi Zhang
9b2f59cb94
user32: Use get_primary_monitor_rect() helper.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 21:25:00 +02:00
Zhiyi Zhang
59e5a8d055
user32: Optimize getting virtual screen rectangle with GetSystemMetrics().
...
This saves calls to GetMonitorInfo().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 21:25:00 +02:00
Zhiyi Zhang
ab431c70b4
user32: Optimize getting primary monitor rectangle with GetSystemMetrics().
...
This saves calls to GetMonitorInfo() and return from EnumDisplayMonitors() immediately
after the primary monitor is found.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 21:25:00 +02:00
Zhiyi Zhang
d7cd5587df
user32: Optimize getting monitor count with GetSystemMetrics().
...
This saves calls to GetMonitorInfo().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-18 21:25:00 +02:00
Rémi Bernon
50ca64fcdf
user32: Duplicate klid to HKL high word in LoadKeyboardLayoutW.
...
When high word is 0, and unless it has an explicit layout id.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 20:37:25 +02:00
Rémi Bernon
702b52fe13
user32: Return WAIT_TIMEOUT in nulldrv_MsgWaitForMultipleObjectsEx.
...
When there's nothing to wait for.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 20:37:22 +02:00
Rémi Bernon
60f6a37f95
user32: Add a default ShowWindow implementation.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 20:37:18 +02:00
Rémi Bernon
07b9f3f609
user32: Factor IsRectEmpty driver check in ShowWindow.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 20:37:04 +02:00
Zhiyi Zhang
c5ed4893b3
user32/tests: Add display DC color depth tests.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 20:35:05 +02:00
Zhiyi Zhang
a92ab08688
winex11.drv: Support reporting emulated display depth.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 20:35:01 +02:00
Zhiyi Zhang
cad102465d
user32/tests: Do not change adapters to every available modes.
...
This reduce the time to run the monitor test from 6 minutes to 25 seconds.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50086
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 20:32:05 +02:00
Zhiyi Zhang
ce72f9b426
user32: Use wait_graphics_driver_ready() in load_desktop_driver().
...
So that Wine doesn't have to send an extra WM_NULL message when
wait_graphics_driver_ready() is later called in
EnumDisplayDevicesW(). Also, it avoids a deadlock when
wait_graphics_driver_ready() is used in later patches.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 21:29:17 +02:00
Rémi Bernon
acecfc6336
user32/tests: Recreate the window to make it more likely to have focus.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 20:56:10 +02:00
Rémi Bernon
516c7e0dd8
user32/tests: Initialize the cursor position in test_GetRawInputBuffer.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 20:56:08 +02:00
Rémi Bernon
1cfc34551e
user32/tests: Skip inconsistent OemKeyScan tests on non-us keyboard.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-14 20:56:05 +02:00
Rémi Bernon
2735496872
user32: Update keyboard / mouse rawinput device paths.
...
Instead of just updating the info.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-13 10:49:14 +02:00
Rémi Bernon
4e956dc0fe
server: Implement WM_INPUT_DEVICE_CHANGE message dispatch.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-11 21:51:46 +02:00
Rémi Bernon
371be0bc1c
server: Add support for RIDEV_DEVNOTIFY rawinput flag.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-11 21:51:42 +02:00
Rémi Bernon
44cb53bb37
user32: Send WM_INPUT_DEVICE_CHANGE / RAWINPUT to the server.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-10 22:03:05 +02:00
Francois Gouget
07293cfe7d
user32/tests: Remove the Cygwin/XFree86 checks.
...
They are very old and likely no longer relevant.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Rémi Bernon
3e2b225428
user32: Read "Layout Id" from registry in LoadKeyboardLayoutW.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Rémi Bernon
bda517c085
user32: Implement KLF_ACTIVATE flag in LoadKeyboardLayoutW.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Rémi Bernon
4bec69b104
user32: Move (Un)LoadKeyboardLayoutW from winex11.drv to user32.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Rémi Bernon
30460460e5
user32: Cache current keyboard layout name.
...
To avoid iterating the registry every time GetKeyboardLayoutNameW is
called.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Rémi Bernon
b943a69c1b
user32/tests: Add tests for keyboard layout preload list.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-07 22:22:49 +02:00
Rémi Bernon
a64861fb66
user32: Return success in nulldrv cursor callbacks.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 20:00:59 +02:00
Rémi Bernon
e2cc121327
user32: Adjust ToUnicodeEx control code translation.
...
To match VkKeyScanW and pass corresponding tests.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 20:00:53 +02:00
Rémi Bernon
512112ebd5
user32: Set keyboard layout preload key on init.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 20:00:42 +02:00
Rémi Bernon
8ec1206ba0
user32: Read "Layout Id" from registry in GetKeyboardLayoutNameW.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 19:50:58 +02:00
Rémi Bernon
c4e6d16271
user32: Factor GetKeyboardLayoutNameW implementations.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-06 19:50:40 +02:00
Rémi Bernon
e2aa30f21d
user32: Factor GetKeyboardLayout and remove driver call.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:57:53 +02:00
Rémi Bernon
da9fc41814
user32: Factor ActivateKeyboardLayout previous layout logic.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:57:04 +02:00
Rémi Bernon
179c57603a
user32: Add current keyboard layout to thread data.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-05 21:56:23 +02:00
Rémi Bernon
cda4abac98
user32: Refactor and simplify GetRawInputDeviceInfoW cases.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 21:33:15 +02:00
Rémi Bernon
82211cd478
user32: Remove unnecessary MOUSE / KEYBOARD special cases.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 21:33:15 +02:00
Rémi Bernon
6a0eb7a5f2
user32: Set last error codes on GetRawInputDeviceInfoW failure.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 21:33:15 +02:00
Rémi Bernon
964bf9687b
user32: Free rawinput device preparsed data for mouse and keyboard.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 21:33:15 +02:00
Rémi Bernon
c2c78a2fe0
user32: Always refresh rawinput device list when requested.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-04 21:33:15 +02:00
Rémi Bernon
0ac619ae7a
user32: Remove hardcoded devices from GetRawInputDeviceList.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 23:21:05 +02:00
Rémi Bernon
f2759829f8
user32: Use rawinput device handles to identify devices.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 23:20:41 +02:00
Rémi Bernon
f2e9783111
user32: Read rawinput device handles assigned by hidclass.sys.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 23:20:17 +02:00
Rémi Bernon
92cbeed9d7
user32: Add a default GetKeyboardLayout implementation.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 21:08:31 +02:00
Rémi Bernon
f044f401f7
user32: Factor unsupported cases into ActivateKeyboardLayout.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 21:08:23 +02:00
Rémi Bernon
66a46120a0
user32: Add a default ActivateKeyboardLayout implementation.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 21:08:13 +02:00
Rémi Bernon
80985b7eec
user32: Read "Layout Id" from registry in GetKeyboardLayoutList.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:49 +02:00
Rémi Bernon
66c3181444
user32: Move GetKeyboardLayoutList from nulldrv.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:49 +02:00
Rémi Bernon
d1c2fadac4
user32: Add a default VkKeyScanEx implementation.
...
This is basically the reverse of ToUnicodeEx.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:49 +02:00
Rémi Bernon
4cf6023c62
user32: Add a default GetKeyNameTextW implementation.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:49 +02:00
Rémi Bernon
1feb05485b
user32: Add a default MapVirtualKeyEx implementation.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:49 +02:00
Rémi Bernon
fde6c6119d
user32: Translate missing vkeys in ToUnicodeEx.
...
As shown by user32 input and msg tests.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 10:49:35 +02:00
Rémi Bernon
37db87eff6
user32: Don't translate control codes when alt is pressed.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 10:49:31 +02:00
Rémi Bernon
95d8f40fdf
user32: Move ToUnicodeEx from wineandroid.drv to user32.
...
As a fallback implementation, using English keyboard layout.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-29 10:49:25 +02:00
Ziqing Hui
1ab8710016
user32/tests: Add tests for maximizing and restoring windows without WS_CAPTION.
...
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 16:52:30 +02:00
Rémi Bernon
60c7823dcb
user32/tests: Add more GetKeyboardLayout(Name) tests.
...
At least on recent Windows, the HKL values are a combination of user
selected UI language in the low word, and keyboard layout id in the high
word.
The keyboard layout id used in HKL is sometimes different from its name,
as returned by GetKeyboardLayoutName, in which case it's the "Layout Id"
value in the corresponding registry key under the layout name.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-27 16:52:30 +02:00
Rémi Bernon
91066bd5e0
user32: Enumerate keyboard rawinput devices.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-23 20:02:06 +02:00
Rémi Bernon
63291b1593
user32: Remove unused heap_strdupW helper.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-19 20:08:48 +02:00
Rémi Bernon
ed3460571d
user32: Use wcslen instead of lstrlenW.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 22:39:46 +02:00
Rémi Bernon
17540b9d7f
user32: Free rawinput devices preparsed data on reset.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 22:39:46 +02:00
Rémi Bernon
95c5654c34
user32: Use malloc/realloc/free instead of heap_* helpers.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 22:39:46 +02:00
Rémi Bernon
b3111f3a32
user32: Remove unnecessary device path memory allocation.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 22:39:46 +02:00
Rémi Bernon
123c17aa92
user32: Add RAWINPUT parameter to __wine_send_input.
...
And send_hardware_message.
This makes it possible to use __wine_send_input to send extended input
data, such as HID device notifications and WM_INPUT messages carrying
HID reports.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-15 10:37:52 +02:00
Rémi Bernon
092c7a09a5
user32: Implement SendInput INPUT_HARDWARE check.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 21:23:06 +02:00
Rémi Bernon
2f8da3c12a
user32/tests: Add more SendInput tests.
...
Validating that SendInput with INPUT_HARDWARE type should be no-op.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 21:23:02 +02:00
Rémi Bernon
5a8bc554ef
winex11.drv: Use X11 root-relative coordinates when possible.
...
Since whole_rect / client_rect are updated asynchronously, there may be
a small lag between X11 and Wine regarding the expected window position.
Then, as events' x and y fields are reported relative to the X11 window
position, this lag can cause inconsistencies when we compute absolute
mouse positions.
Also, applications that control their own position while being moved
cause additional whole_rect / client_rect updates, before X11 knows
about it.
This can make applications like Winamp go nuts when they are being moved
and move all over the place "randomly".
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46309
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-06 22:46:12 +02:00
Rémi Bernon
6d6b420243
user32/tests: Add a test for SetCursorPos / SetWindowPos interactions.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-06 22:46:12 +02:00
Rémi Bernon
6444e4fade
server: Remove tid from set_key_state request.
...
As it is always set to GetCurrentThreadId().
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>
2021-04-02 22:51:50 +02:00
Rémi Bernon
626870abe2
server: Remove tid from get_key_state request.
...
And replace it with an async param if we want the global async keystate.
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>
2021-04-02 22:51:21 +02:00
Rémi Bernon
ee7c17c16d
user32/tests: Add GetKeyState tests vs SetKeyboardState calls.
...
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>
2021-04-02 22:50:08 +02:00
Rémi Bernon
53a6b55ff6
user32/tests: Repeat each GetKeyState test a few times.
...
As it changes the results on the second and later iterations.
This shows for instance that without a thread message queue, the first
key press is always missed but then the thread input will follow desktop
async keystate updates.
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>
2021-04-02 22:50:04 +02:00
Rémi Bernon
c19cba3f03
user32/tests: Factor GetKeyState test checks together.
...
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>
2021-04-02 22:49:59 +02:00
Piotr Caban
4bb337fb63
user32: Add clipping region tests on window resize.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-18 22:04:01 +01:00
Alexandre Julliard
0d017b12cf
user32/tests: Remove todo from a test that seems to succeed reliably now.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-10 20:44:47 +01:00
Rémi Bernon
cd1b87cd66
user32: Only get input codepage when needed.
...
Calling get_input_codepage involves doing quite a lot of things, and
doing it for every message type, when it's not needed, is inefficient.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-04 21:43:27 +01:00
Zhiyi Zhang
92a8c69194
user32: Fix memory leaks.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-01 10:10:06 +01:00
Zhiyi Zhang
a11ffeec96
user32/tests: Add optional messages to test sequences.
...
Fix a possible test failure on Win10 2009.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 18:48:07 +01:00
Zhiyi Zhang
068cf6f02c
user32/tests: Fix a test failure on w7u_2qxl TestBot VM.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-22 18:41:55 +01:00
Zhiyi Zhang
3898ad408b
user32: Send a WM_ACTIVATE message after restoring a minimized top level window.
...
The WmShowRestoreMinimizedOverlappedSeq message sequence in tests
clearly show that there is a WM_ACTIVATE message at the end of
ShowWindow() calls after restoring a minimized window, and it's
not from SetFocus().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47507
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-18 22:39:34 +01:00
Rémi Bernon
9942948097
user32/tests: Add tests for SetKeyboardState / GetKeyState interactions.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26269
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:13 +01:00
Rémi Bernon
70e67d1d20
user32/tests: Add tests for GetKeyState / GetKeyboardState interactions.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26269
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:13 +01:00
Rémi Bernon
e10cf973d5
user32/tests: Add more tests for GetKeyState from background thread.
...
It looks like that GetKeyState is supposed to catch key presses when
called from a background thread even after its thread message queue and
thread input structures have been created.
This happens in Bioshock 2 Remaster, and causes the game to stay forever
on a "Press space to continue" screen, as the thread checking for space
key press calls GetKeyState repeatedly (and PeekMessage), although it's
in background.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26269
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-17 22:21:13 +01:00
Francois Gouget
7a9745022b
user32: Fix a typo in a comment.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-08 20:55:40 +01:00
Gabriel Ivăncescu
dd417540bb
user32: Keep toplevel minimized windows offscreen if they're already.
...
Some applications (e.g. Lego Worlds, Hitman 2) use (-32000,-32000) to
determine whether a window is minimized.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 23:11:22 +01:00
Gabriel Ivăncescu
9ef33b5e20
user32/tests: Test minimized window placement after trying to change position.
...
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 23:11:22 +01:00
Zhiyi Zhang
8fad0b146d
gdi32: Report real VREFRESH values for GetDeviceCaps() with display DCs.
...
Even though MSDN says 0 and 1 are both valid and they represent the default refresh rate of display
hardware. Some games rely on the value being the real refresh rate and use it to cap frame rates.
Fix an issue that Sakuna: Of Rice and Ruin reports monitors of 1Hz and cap to 1fps.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-27 21:12:06 +01:00
Zhiyi Zhang
2006f76b5f
gdi32: Report correct HORZRES and VERTRES values for GetDeviceCaps() with DCs on a specific monitor.
...
Fix DLC Quest uses the primary monitor size to render when in fullscreen mode on non-primary monitors.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-27 21:12:01 +01:00
Zhiyi Zhang
640f7081db
user32/tests: Add display DC tests.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-27 21:11:58 +01:00
Zebediah Figura
32f5dfde0d
user32: Send WM_CANCELMODE to the current capture window after initializing a modal dialog.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48860
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-07 21:20:58 +01:00
Zebediah Figura
c75e065288
user32/tests: Add some tests for release of capture via modal dialogs.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-07 21:20:56 +01:00
Zebediah Figura
522b230142
user32/tests: Add some tests for WM_CANCELMODE.
...
In particular, test sending WM_CANCELMODE to a parent of the capture window.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-07 21:20:53 +01:00
Esme Povirk
bc2e193d9a
user32/tests: Don't kill explorer to test shell window.
...
Killing explorer breaks later tests. We can create a new desktop
without a shell instead.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48142
Signed-off-by: Esme Povirk <esme@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-29 21:19:01 +01:00
Paul Gofman
aaf05c106e
user32: Add stub for SetDisplayConfig().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50420
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-29 21:08:52 +01:00
Jacek Caban
fcf545f449
winapi: Use __alignof__ on clang.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-16 15:30:07 +01:00
Zhiyi Zhang
c84fd7cd86
user32/tests: Test that monitor enumeration is not affected by window stations and desktops.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-08 22:25:59 +01:00
Zhiyi Zhang
bc4d22b3dc
user32/tests: Test that monitor handles are user32 handles.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-08 22:25:59 +01:00
Arkadiusz Hiler
b4abe3889f
user32: Fix WM_DEVICECHANGE handling.
...
WM_DEVICECHANGE's lParam can be either a pointer to a variant of
DEV_BROADCAST_HDR or an immediate value (usually 0) depending on
the wParam's value.
This fixes a crash when broadcasting WM_DEVICECHANGE with
wParam = DBT_DEVNODES_CHANGED, lParam = 0.
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-04 21:23:27 +01:00
Francois Gouget
9468e7617c
user32/tests: Fix the spelling of a win_skip() message.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-25 22:51:35 +01:00
Jeff Smith
ab1a979268
user32: Only child windows should not receive broadcast messages.
...
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 21:00:14 +01:00
Jeff Smith
81dec8de77
user32/tests: Test message broadcast to parented windows.
...
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 21:00:09 +01:00
Jeff Smith
e4538d9a11
user32/tests: Simplification of some message broadcast tests.
...
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 21:00:05 +01:00
Jeff Smith
e92cc29d6c
user32/tests: Change misleading variable name and type.
...
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 21:00:01 +01:00
Paul Gofman
073b6dc240
user32: Avoid holding display_dc_section when creating display DC.
...
get_display_dc() may be locking display_dc_section at the end of
user driver initialization in LoadCursorA() called from
register_builtin_classes(). If the driver initialization initiated
in CreateDCW() goes in parallel with the initialization started
elsewhere without holding display_dc_section, the process can deadlock.
Fixes random lockup on start in Hammerting.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 19:35:25 +01:00
Zhiyi Zhang
73756156f4
user32/tests: Pass a struct DEVMODEA pointer to expect_dm() for monitor tests.
...
No need to pass parameters via struct copying.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-13 13:17:59 +01:00
Nikolay Sivov
df0c5d23ef
user32: Remove usp10 from delayed imports.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-10 10:57:13 +01:00
Zhiyi Zhang
e6b2da3173
user32: Use current width or height if a mode specifies zero width or height for ChangeDisplaySettingsExW().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 20:24:23 +01:00
Zhiyi Zhang
2756cabbe4
user32/tests: Test changing to a valid depth but zero width and height display mode.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 20:24:21 +01:00
Arkadiusz Hiler
f7edc32818
user32: Implement GetMouseMovePointsEx().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36873
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 22:37:16 +02:00
Jacek Caban
14d97c261b
user32: Support control characters in null driver VkKeyScanEx implementation.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49894
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-25 16:50:19 +02:00
Zhiyi Zhang
9501a3d5ab
user32/tests: Add display orientation tests.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 12:28:42 +02:00
Rémi Bernon
b16f552e19
gdi32: Use explicit CDECL in window_surface_funcs.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 11:30:00 +02:00
Alexandre Julliard
6456973f0a
user32: Use wide character string literals for system parameter entries.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:09:59 +02:00
Alexandre Julliard
5ad25c293b
user32: Use wide character string literals.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 19:09:59 +02:00
Alexandre Julliard
9cc9236556
user32: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 15:15:38 +02:00
Alexandre Julliard
148d3aa461
user32: Move PNG support to a new Unix library.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-21 15:15:36 +02:00
Zhiyi Zhang
af0ae9df1e
user32/tests: Fix a test failure.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 21:43:45 +02:00
Rémi Bernon
d50c310da9
user32: Return TRUE from ShowWindow(SW_SHOW) if already visible.
...
Instead of calling SendMessage, similarly to the SW_HIDE case.
Based on a patch by Kimmo Myllyvirta <kimmo.myllyvirta@gmail.com>.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39731
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-11 16:55:40 +02:00
Fabian Maurer
93937a53f1
user32/menu: Store application defined value as pointer.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49805
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-10 10:29:11 +02:00
Zhiyi Zhang
23ce18d5e5
user32: Always wait for the desktop process to be ready in load_desktop_driver().
...
Having a __wine_display_device_guid property in the desktop window only guarantees that the window
is created. Explorer.exe still has to finish setting up virtual desktop, display settings etc.
load_desktop_driver() needs to make sure that the desktop initialization is done before allowing
applications to call user32 driver functions. Otherwise, they might get incorrect data. This race
condition became apparent after aadae4d1ea
, which adds ~100ms to the
initialization process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49762
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 12:30:43 +02:00
Zhiyi Zhang
1aa7c9af90
winex11.drv: Store a full display mode in registry.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 11:08:46 +02:00
Zhiyi Zhang
fd29fe4ea7
user32/tests: Add more registry display mode tests.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 11:08:44 +02:00
Fabian Maurer
7b998c266e
user32: Set default user preferences to enable animations.
...
This allows games like solitaire, chess titans, etc. to
use animations.
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 11:17:26 +02:00
Alex Henrie
a13f78cca7
user32: Comment out SetWindowFullScreenState.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49728
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-24 11:16:34 +02:00
Rémi Bernon
1e7378d80c
user32: Implement GetRegisteredRawInputDevices.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 21:17:11 +02:00
Rémi Bernon
a3aa9ae80a
user32/tests: Add basic GetRegisteredRawInputDevices tests.
...
There's already some in dinput, but this is a more appropriate location.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 21:15:38 +02:00
Zhiyi Zhang
0fa4613811
user32/tests: Fix a failing test on Windows 10 1909.
...
Although most of the older Windows versions allow changing to a 1Hz display mode, it returns failure
on Windows 10 1909+.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:26:25 +02:00
Zhiyi Zhang
34a5f04286
user32/tests: Remove some todo_wines.
...
Monitor positions are now correctly reported by the XRandR 1.4 display settings handler.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:26:23 +02:00
Zhiyi Zhang
04d1a184e5
user32: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
...
EnumDisplaySettings() on Wine does not write beyond the end of DEVMODE because it doesn't use
dmDriverExtra currently, but this implementation detail should not be relied on.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-11 18:06:54 +02:00
Zhiyi Zhang
6d68c38c88
user32/tests: Zero initialize DEVMODE before passing it to EnumDisplaySettings().
...
Zero initialize DEVMODE before passing it to EnumDisplaySettings(), which may write beyond the end
of the DEVMODE structure on Windows because the dmDriverExtra field is uninitialized.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-11 18:06:42 +02:00
Serge Gautherie
99c0ab2ea1
winapi_test: Restore horizontal alignment of macro defines.
...
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:26:15 +02:00
Akihiro Sagawa
8baf70a2d0
user32: Fix wsprintfA's buffer usage when using %S.
...
This fixes a regression introduced by
08bf605acb
.
It could lead to stack corruption because ret can be negative when the
output position, p, doesn't point the beginning of the buffer before
the inner loop.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 10:21:57 +02:00
Zhiyi Zhang
d13b61b738
winex11.drv: Support detaching adapters.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-30 16:37:28 +02:00
Zhiyi Zhang
4a24816313
winex11.drv: Support automatic display position adjustment.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-30 16:37:26 +02:00
Piotr Caban
5bb4e4b36c
user32: Support undocumented SC_SIZE flag that can be used to move window.
...
Fixes main window moving in Quicken 2020.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-30 16:33:22 +02:00
Zhiyi Zhang
9905a5a81d
winex11.drv: Add XRandR 1.4 display settings handler.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Zhiyi Zhang
46182aa559
user32: Check invalid device names in EnumDisplaySettingsExW().
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00