Commit Graph

152174 Commits

Author SHA1 Message Date
Ivo Ivanov c2235c44c5 joy.cpl: Allow devices as steering wheels, that only support single-axis effects.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51873
Signed-off-by: Ivo Ivanov <logos128@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Ivo Ivanov ddd143b0e9 dinput: Fix single-axis effects direction values.
What the tests show is actually that the direction should be set only
if the corresponding axis is in the axis list.

Signed-off-by: Ivo Ivanov <logos128@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Ivo Ivanov b8931fdce2 dinput: Introduce a new set_parameter_value_angle helper.
To correctly scale angle values and warn about unexpected units.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Rémi Bernon fca0f18d08 winebus.sys: Avoid unnecessary scaling of effect parameter values.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Rémi Bernon ef5fa6c716 dinput: Only scale parameter value if its physical range is defined.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Rémi Bernon b2ba9737ad winebus.sys: Remove effect gain from the crafted PID reports.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Rémi Bernon e9c3c494fd winebus.sys: Use last report length in IOCTL_HID_GET_INPUT_REPORT.
Instead of packet length, which may be larger than the last report
buffer.

Based on a patch from Ivo Ivanov <logos128@gmail.com>.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Ivo Ivanov dfaf7e0490 winebus.sys: Add PID_USAGE_PARAMETER_BLOCK_OFFSET in the set condition report.
Fixes improper interpretation of the condition output reports.

Signed-off-by: Ivo Ivanov <logos128@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Zhiyi Zhang 438078d045 comctl32/button: Use client rectangle as content rectangle for themed group boxes.
Themed group boxes always use client rectangle as content rectangle regardless of group box content
margin specified by theme files.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52028
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Zhiyi Zhang ea71625cf1 uxtheme: Do not overwrite system metrics when loading the same theme.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51986
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52025
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:38 +01:00
Alexandre Julliard a9e00347b7 makedep: Use a separate variable for cross-compiled importlib objects.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 18:31:35 +01:00
Alexandre Julliard 470ac022f2 ntdll: Fix a compiler warning on macOS.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 15:36:30 +01:00
Alexandre Julliard 7d2a7b94aa ntdll: Fix handling of zero size with MEM_DECOMMIT.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52023
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-19 11:17:24 +01:00
Brendan Shanks 32fb017d4a winemac.drv: Remove workarounds for Mac OS X 10.6 and earlier.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 22:37:18 +01:00
Henri Verbeet deff68bb72 ntdll: Only add a module dependency if import_dll() returned a modref.
In particular, if import_dll() skips an unused import, it will return TRUE,
but set *pwm to NULL. This fixes a regression in 3DMark03 version 3.4.0,
introduced by commit 0dd37b02f9.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 20:15:19 +01:00
Alexandre Julliard 6944dc5189 makefiles: Split the module generation into several helper functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 20:15:19 +01:00
Alexandre Julliard 9ac2eecbba winegcc: Support an explicit --fake-module option.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 20:15:19 +01:00
Alexandre Julliard d969d02e21 tools: Move target CPU and platform handling to the common tools.h header.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:50:30 +01:00
Alexandre Julliard c70ed78a36 widl: Get rid of PowerPC support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:16:21 +01:00
Alexandre Julliard 61e210f196 winebuild: Get rid of PowerPC support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:16:19 +01:00
Alexandre Julliard 8cd3679848 winegcc: Get rid of PowerPC support.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:16:17 +01:00
Ivo Ivanov b793fb5457 dinput: Add support for DIPROP_(PHYSICAL|LOGICAL)RANGE properties.
Fixes apps like WheelCheck, which rely on some of these properties
(DIPROP_PHYSICALRANGE) to correctly calculate the top center of the
wheel against their permitted range.

In particular the constant force test now works just like in Windows,
directing the wheel to the upper center and resisting any movement to
the left or right. Before that it would pull the steering wheel hard to
the left.

Signed-off-by: Ivo Ivanov <logos128@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:12:00 +01:00
Rémi Bernon e8d961b5c7 dinput: Stub support for the DIPROP_CALIBRATIONMODE property.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:11:57 +01:00
Rémi Bernon 0c9cac9547 dinput: Move GetProperty implementation for objects to generic device.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:11:55 +01:00
Rémi Bernon 3834eaf9bd dinput: Move SetProperty implementation to the generic device.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:11:52 +01:00
Rémi Bernon 801bc147f0 dinput: Factor (Get|Set)Property checks together.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:11:50 +01:00
Rémi Bernon 99783e8c8b dinput: Guard (Get|Set)Property logic within the device CS.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:11:47 +01:00
Rémi Bernon c918234f71 dinput: Reset axis and pov values on object property change.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:11:45 +01:00
Rémi Bernon 1ae1744cb2 dinput: Move HID joystick extra caps to struct dinput_device.
As object properties.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:11:42 +01:00
Rémi Bernon dee684fbca dinput8/tests: Add some more (Get|Set)Property tests.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:11:39 +01:00
Ivo Ivanov 67ae62e226 include: Declare DIPROP_(PHYSICAL|LOGICAL)RANGE properties.
Signed-off-by: Ivo Ivanov <logos128@gmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:11:35 +01:00
Zebediah Figura f3e9498740 ntdll: Reimplement SRW locks on top of Win32 futexes.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:09:25 +01:00
Zebediah Figura 87164ee333 ntdll: Get rid of the direct futex path for condition variables.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:09:16 +01:00
Zebediah Figura c577ce2671 ntdll: Reimplement the critical section fast path on top of Win32 futexes.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:09:07 +01:00
Zebediah Figura 6bdb914a25 ntdll: Reimplement Win32 futexes on top of thread-ID alerts.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:08:49 +01:00
Zebediah Figura 842ecb45f4 ntdll: Implement thread-ID alerts using Mach semaphores on Mac.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-18 11:08:16 +01:00
André Zwing 161d61481f avicap32: Fix typo in comment.
Signed-off-by: André Zwing <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 21:10:56 +01:00
Gabriel Ivăncescu c74d8e1744 mshtml: Actually set the return value when removing an attribute.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 20:58:05 +01:00
Gabriel Ivăncescu 6b2c20c6a1 mshtml: Clear the string dprop associated with the builtin attribute when removing it.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 20:58:01 +01:00
Dmitry Timoshkov 8afb89436f crypt32: Avoid truncating unicode chars.
So that strings containing Cyrillic Capital Letter ER (0x420) won't be
quoted when not needed.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 20:57:54 +01:00
Serge Gautherie 177f808aa8 riched20: Check font_cache in select_style() too.
Signed-off-by: Serge Gautherie <winehq-git_serge_180711@gautherie.fr>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 18:38:50 +01:00
Alexandre Julliard 4138ef14fa wow64win: Add missing thunk for NtUserGetKeyboardLayout().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 17:59:26 +01:00
Floris Renaud a6a2580c33 winecfg: Add the command line options to the man page.
Signed-off-by: Floris Renaud <jkfloris@dds.nl>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 17:59:26 +01:00
Eduard Permyakov 6806954251 dsound: Correctly report hardware audio buffers as unsupported.
Signed-off-by: Eduard Permyakov <epermyakov@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 17:59:26 +01:00
Zebediah Figura 9d79f72142 ntdll: Implement thread-ID alerts using futexes if possible.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 17:59:26 +01:00
Zebediah Figura 6d19056a8c ntdll/tests: Add basic tests for thread-id alert functions.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 17:59:26 +01:00
Zebediah Figura 0e931fa5fd ntdll: Implement NtAlertThreadByThreadId and NtWaitForAlertByThreadId.
These will be used to implement RtlWaitOnAddress() and other in-process
synchronization primitives, as they are on Windows.

These patches went through quite a few revisions in order to ensure that they
had sufficient performance and correctness compared to the current
implementation. I am particularly grateful to Etienne Juvigny and Dmitry
Skvortsov for performing extensive testing.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 16:36:01 +01:00
Huw Davies afdaf649be winecoreaudio: Store the channel count and period_ms directly in the audio client.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 16:23:35 +01:00
Huw Davies 8e90b2569c winecoreaudio: Use the global lock to protect the audio client.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 16:23:31 +01:00
Huw Davies 28cb5534d1 winecoreaudio: Use the global lock to lock the session.
Mainly just for simplicity.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-11-17 16:23:22 +01:00