Commit Graph

67 Commits

Author SHA1 Message Date
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
Alexandre Julliard a5ef549c6e user32: Add support for managing a DIB surface for a window. 2012-09-06 12:35:32 +02:00
Vincent Povirk 8c0d568c32 user32: Notify the user driver of hotkey changes. 2011-07-05 16:00:20 +02:00
Alexandre Julliard 7879b8e349 user32: Get rid of the RegisterClipboardFormat driver entry point. 2011-03-07 17:06:50 +01:00
Alexandre Julliard 383d8ac105 user32: Remove GetClipboardFormatName from the user driver interface. 2011-03-04 16:25:52 +01:00
Alexandre Julliard f1a3480068 user32: Handle input injected through SendInput entirely in user32. 2011-03-02 21:48:39 +01:00
Alexandre Julliard a7da164949 user32: Retrieve the key state for GetAsyncKeyState from the server. 2011-02-28 22:28:42 +01:00
Ken Thomases 9cb4c21f1a user32: Rename GetKeyboardLayout param; it's a thread ID, not a layout. 2011-02-10 10:28:01 -06:00
Alexandre Julliard 86c4a3694d user32: Remove the CURSORICONINFO parameter in the CreateCursorIcon driver entry point. 2010-05-21 13:30:15 +02:00
Alexandre Julliard 8ec6359bbb user32: Remove the CURSORICON parameter in the SetCursor entry point. 2010-04-21 11:07:45 +02:00
Alexandre Julliard d676bf246d user32: Add driver entry points for cursor creation and destruction, and pass the cursor handle to SetCursor. 2010-04-20 19:22:38 +02:00
Alexandre Julliard 83b66549da user32: Get rid of 16-bit handles in the driver clipboard interface. 2009-12-23 14:27:31 +01:00
Alexandre Julliard 67cbdfb575 user32: Don't print CreateWindow warning for HWND_MESSAGE windows. 2009-10-23 12:23:51 +02:00
Rob Shearman ea00dc4b49 user32: Free allocated memory in USER_unload_driver. 2009-01-12 13:07:07 +01:00
Maarten Lankhorst 0a6459598a user32/winex11.drv: Change all user32 operations to use CDECL. 2008-12-23 13:06:04 +01:00
Aric Stewart 5c779bfa0a user32: Remove the driver call for GetKeyboardLayoutList and instead populate from the registry. 2008-12-18 14:19:39 +01:00
Dmitry Timoshkov fc48f7743d user32: Make ToAscii(Ex) and ToUnicode(Ex) prototypes match PSDK. 2008-10-27 12:38:57 +01:00