Torge Matthies
8930d6a00e
win32u/tests: Add tests for NtUserEnumDisplayDevices return value.
...
Signed-off-by: Torge Matthies <openglfreak@googlemail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-10 22:00:04 +01:00
Alexandre Julliard
e3001b6a7c
configure: Assume that sys/mman.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Alexandre Julliard
f8faa8ced5
configure: Assume that dirent.h is available on Unix.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:50 +01:00
Jacek Caban
9596e7f2a4
win32u: Use user driver for wine_get_vulkan_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-12-08 09:57:56 +01:00
Jacek Caban
a48127034d
win32u: Move 55aa brush implementation from user32.
...
And don't expose __wine_make_gdi_object_system.
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-12-07 20:24:42 +01:00
Jacek Caban
2aba4c5839
win32u: Use NtUserCallTwoParam for MirrorRgn implementation.
...
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-12-07 20:24:38 +01:00
Jacek Caban
ef30380d4a
win32u: Fix device instance value size in link_device.
...
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-12-07 20:24:20 +01:00
Jacek Caban
ed27532788
win32u: Fix return types on lock_display_devices failures.
...
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-12-07 20:23:52 +01:00
Francois Gouget
60bcca6637
win32u: Fix the trailing linefeed in a TRACE().
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 16:19:48 +01:00
Akihiro Sagawa
be17415403
win32u: Use the replacement name in otmpFamilyName and GetTextFace().
...
Houkago Cinderella verifies that otmpFamilyName matches the desired
font name.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52176
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-07 12:23:06 +01:00
Jacek Caban
4ca8d676fb
win32u: Directly use sysparams in nulldrv_GetDeviceCaps.
...
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-12-06 11:00:14 +01:00
Jacek Caban
fdf3015816
win32u: Move system parameters 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-12-06 11:00:06 +01:00
Jacek Caban
338179ae34
win32u: Directly access system DPI in ntgdi.
...
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-12-06 10:59:16 +01:00
Jacek Caban
3570b09133
win32u: Move DPI mapping from EnumDisplayMonitors.
...
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-12-06 10:59:05 +01:00
Jacek Caban
7aab49d736
win32u: Move DPI mapping from GetMonitorInfoW.
...
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-12-06 10:58:57 +01:00
Jacek Caban
b877c78ec5
win32u: Move NtUserGetDpiForMonitor 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-12-06 10:58:49 +01:00
Jacek Caban
d08808d8f3
win32u: Implement NtUserGetSystemDpiForProcess.
...
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-12-06 10:58:39 +01:00
Jacek Caban
aab62429c2
win32u: Implement NtUserGetProcessDpiAwarenessContext and NtUserSetProcessDpiAwarenessContext.
...
And use them in 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-12-06 10:58:27 +01:00
Jacek Caban
ac9119badb
win32u: Add partial wow64 support.
...
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-12-06 10:58:08 +01:00
Jacek Caban
f359c7f60c
win32u: Use NtUserSelectPalette instead of GDISelectPalette.
...
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-12-03 16:56:08 +01:00
Jacek Caban
41eac6e25c
win32u: Use NtUserCallOneParam instead of GDIRealizePalette.
...
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-12-03 16:56:08 +01:00
Jacek Caban
72e3c91380
win32u: Move NtUserGetKeyboardLayoutName 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-12-03 16:56:08 +01:00
Jacek Caban
a25148ae46
win32u: Move NtUserGetCursor 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-12-03 16:56:08 +01:00
Jacek Caban
c87925bae3
win32u: Move NtUserShowCursor 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-12-03 16:56:08 +01:00
Jacek Caban
3867d253ed
win32u: Move NtUserChangeDisplaySettings 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-12-02 20:20:40 +01:00
Jacek Caban
8731afe70f
win32u: Introduce get_virtual_screen_rect.
...
And use it in nulldrv_GetDeviceCaps.
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-12-02 20:20:39 +01:00
Jacek Caban
c4b258eff7
win32u: Handle invisible winstations in lock_display_devices.
...
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-12-02 20:20:39 +01:00
Jacek Caban
318673405c
win32u: Move NtUserEnumDisplayMonitors 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-12-02 20:20:39 +01:00
Jacek Caban
45dcaf02fc
win32u: Move GetMonitorInfo 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-12-02 20:20:39 +01:00
Jacek Caban
1f2c3e8538
win32u: Move NtUserEnumDisplaySettings 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-12-01 18:13:55 +01:00
Jacek Caban
f6abd9d140
win32u: Implement NtUserEnumDisplayDevices.
...
And use it in 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-30 22:07:21 +01:00
Jacek Caban
8278bdcbec
win32u: Implement monitor registration.
...
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-30 22:07:21 +01:00
Jacek Caban
082136aea1
win32u: Implement display adapter registration.
...
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-30 22:07:21 +01:00
Jacek Caban
6185c8a347
win32u: Implement GPU registration.
...
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-30 22:07:21 +01:00
Jacek Caban
f8817ce2d5
win32u: Introduce UpdateDisplayDevice user driver entry point.
...
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-30 22:07:21 +01:00
Jacek Caban
cf7111e86a
win32u: Implement NtUserGetDisplayConfigBufferSizes.
...
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-30 22:07:20 +01:00
Alexandre Julliard
035f8ad8ad
ntdll: Export some Unicode string functions for use in other Unix libraries.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-30 22:07:20 +01:00
Florian Will
6dfad4c2fb
win32u: Only retrieve the dc size if needed.
...
SetMapMode(.., MM_TEXT) is called a lot in common gdiplus use cases via
gdi_transform_acquire(). Querying the size and resolution can be
expensive, so skip it when its not needed.
When running the "ZusiDisplay" ET423 diagnostic display, which uses
gdiplus heavily, this change increases the "indicator blinking speed"
from 0.6 per second to 1 per second and probably hits the FPS limit now.
Also, CPU usage of the ZusiDisplay.exe process goes down from ~75% to
~42% of one core according to "top", and wineserver CPU usage goes down
from ~48% to ~3%.
Signed-off-by: Florian Will <florian.will@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-26 11:59:08 +01:00
Zebediah Figura
220b0a7c06
win32u: Do not free user memory when deleting dibs created with NtGdiDdDDICreateDCFromMemory().
...
This fixes a test crash in ddraw:ddraw1 introduced by
7d2a7b94aa
.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-22 22:20:51 +01:00
Rémi Bernon
39fea6cd1e
win32u: Guard font unused_entry against race condition.
...
There is a race condition otherwise between release_gdi_font and
find_cached_gdi_font, leading to invalid memory access:
One thread calling release_gdi_font may decrement refcount to 0,
then try to enter font_lock. At the same time, another thread may be
calling find_cached_gdi_font through select_font, holding the font_lock.
This second thread would find refcount set to 0, and then try to remove
unused_entry from its list, although it hasn't been added yet to the
unused list.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +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
d60708a17f
win32u: Move NtUserGetMouseMovePointsEx 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:57 +01:00
Jacek Caban
dc03ca3baf
win32u: Move NtUserUnregisterHotKey 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:51 +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
da01911cc1
win32u: Move NtUserGetOpenClipboardWindow 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
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
563a233284
win32u: Move NtUserGetKeyboardLayout 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