Jacek Caban
0487c826fb
user32: Move register_builtin_classes call to GetDesktopWindow.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:39 +01:00
Jacek Caban
5204622efa
win32u: Move NtUserScrollDC 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>
2021-11-17 15:27:03 +01:00
Jacek Caban
f65fa2f019
win32u: Move NtUserGetKeyboardLayoutList 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>
2021-11-17 15:26:45 +01:00
Jacek Caban
a32f044154
win32u: Move NtUserActivateKeyboardLayout 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>
2021-11-17 15:26:37 +01:00
Jacek Caban
8932c8678c
win32u: Move NtUserToUnicodeEx 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>
2021-11-17 15:26:30 +01:00
Jacek Caban
65f3b653fa
win32u: Move NtUserGetKeyNameText 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>
2021-11-16 17:44:42 +01:00
Jacek Caban
8d34353878
win32u: Move NtUserMapVirtualKeyEx 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>
2021-11-16 17:44:42 +01:00
Jacek Caban
8f52632ca9
win32u: Move NtUserVkKeyScanEx 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>
2021-11-16 17:44:42 +01:00
Jacek Caban
694b1b472b
win32u: Move null user driver 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>
2021-11-11 18:39:48 +01:00
Jacek Caban
73bf140c01
win32u: Use user_driver_funcs to pass driver to __wine_set_display_driver.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 18:39:48 +01:00
Jacek Caban
fd675485be
user32: Use user_driver_funcs to expose user driver function from drivers.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 18:39:48 +01:00
Jacek Caban
d1290b6ec7
user32: Introduce user_driver_funcs struct.
...
And use it instead of USER_DRIVER.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-11 18:39:48 +01:00
Jacek Caban
588dc55e9e
win32u: Move NtUserGetProcessWindowStation implementation from user32.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-13 21:57:11 +02:00
Jacek Caban
360510da94
user32: Always initialize graphics_driver in load_desktop_driver.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +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
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
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
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
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
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
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
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
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
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
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
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
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
Jefferson Carpenter
bc9d4eb55a
user32: Always initialize module in load_desktop_driver.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48742
Signed-off-by: Jefferson Carpenter <jeffersoncarpenter2@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 21:18:18 +01:00
Jacek Caban
be6e6fb23c
user32: Initialize module handle to NULL for null driver.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-16 20:47:12 +01:00
Jacek Caban
beaef92010
user32: Allow using null driver as a normal graphics driver.
...
When explicitly requested by config, Wine will use null driver in the
same way as we allow using it for invisible winstations.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-12 08:51:25 +01:00
Huw Davies
ae7531f673
user32: Remove unused GetAsyncKeyState() driver entry.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 16:04:03 +01:00
Zhiyi Zhang
23b28323cb
winex11.drv: Use generic GetMonitorInfo.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 13:22:17 +02:00
Zhiyi Zhang
074abfe097
winex11.drv: Use generic EnumDisplayMonitors.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-25 13:22:17 +02:00
Bernhard Übelacker
f5bb76f69a
user32: Let nulldrv return some dummy monitor information.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43187
Signed-off-by: Bernhard Übelacker <bernhardu@mailbox.org>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-04 09:12:36 -05:00
Michael Stefaniuc
b2fc591748
user32: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:02 +02:00
Jacek Caban
af4294a9af
user32: Allow creating windows using null driver for invisible winstations.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 16:07:41 +01:00
Alexandre Julliard
b39a0f008b
user32: Remove no longer used clipboard driver entry points.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-26 15:54:05 +09:00
Alexandre Julliard
11c3867349
user32: Add an UpdateClipboard entry point to allow the driver to refresh the clipboard before it's open.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-23 20:30:15 +09:00
Jacek Caban
f0e7bd248e
user32: Introduced ThreadDetach driver entry point.
...
The problem was diagnosed by Ken Thomases.
Currently drivers use DllMain(DLL_THREAD_DETACH) to release thread data.
The problem is that DLLs (like native urlmon.dll, esp. reproducible in
IE8) may still do user32 calls after driver detaches thread. Loader
ensures that since user32.dll was loaded before dependent DLLs, user32's
DllMain will be called in the right moment. Due to lazy loading of
drivers, we have no control over them. We may use a new entry point to
make sure that we detach user32 and driver at the same time.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-27 13:23:52 +09:00
Gerald Pfeifer
1e803cb1df
user32: Avoid shift overflow in nulldrv_GetKeyboardLayoutList.
...
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-30 23:16:51 +09:00
Austin English
230217e4d2
user32: Use winediag debug channel for some error messages.
...
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-17 10:58:40 +09:00
Jactry Zeng
b007a98e1a
user32: Add driver entry point for FlashWindowEx.
...
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 23:35:26 +09:00
Alexandre Julliard
070a82e743
user32: Merge the AcquireClipboard and EmptyClipboard driver entry points.
2015-06-03 18:46:53 +09:00