Commit Graph

83 Commits

Author SHA1 Message Date
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
Alexandre Julliard b7c340de73 user32: Get rid of the unused parameter in the EmptyClipboard driver entry point. 2015-06-03 18:46:53 +09:00
Alexandre Julliard 6a0f3df68c user32: Don't bother returning a value from the SetWindowRgn driver entry point. 2014-05-01 12:31:14 +02:00
Alexandre Julliard b4b817b907 user32: Only wait for the desktop process when necessary. 2014-01-30 21:49:32 +01:00
Huw Davies 85e105bd37 user32: Add a GetKeyboardLayoutList driver entry. 2013-11-20 19:38:44 +01:00
Alexandre Julliard 9675aa173a gdi32: Allow user32 to specify the display driver to use. 2013-10-29 12:51:26 +01:00
Alexandre Julliard 010769249c user32: Get the graphics driver name from the desktop window registry entry. 2013-10-29 12:12:21 +01:00
Alexandre Julliard fe441a0682 user32: Register classes once the graphics driver has been loaded, except for the desktop class. 2013-10-24 19:01:54 +02:00
Alexandre Julliard 11597d6b3c user32: Don't trigger a graphics driver load for functions that require an existing window. 2013-10-23 17:02:56 +02:00
Alexandre Julliard a897e13fba user32: Get rid of the CreateCursorIcon driver entry point. 2013-10-22 10:25:44 +02:00
Alexandre Julliard 04ad06353d user32: Move the common parts of ScrollDC into user32 and the null driver. 2013-04-19 16:16:16 +02:00
Alexandre Julliard 59c0c5fb2d user32: Don't print a warning when creating the HWND_MESSAGE parent window. 2013-04-02 14:19:45 +02:00
Alexandre Julliard 13fbce5627 user32: Forward SystemParametersInfo calls to the user driver first. 2012-11-15 21:21:49 +01:00
Alexandre Julliard e17cdb266d user32: Retrieve the graphics driver module from gdi32. 2012-10-22 15:16:01 +02:00
Alexandre Julliard 24eee97d21 user32: Add a driver entry point for UpdateLayeredWindow. 2012-10-01 13:20:20 +02:00