Commit Graph

151129 Commits

Author SHA1 Message Date
Rémi Bernon f5b32121b1 dinput: Use msvcrt memory allocation functions.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 10:58:51 +02:00
Rémi Bernon 87c7f1bdce dinput: Use wide char string literals.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 10:58:46 +02:00
Rémi Bernon e4f6ec7d3d dinput: Build with msvcrt.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 10:58:38 +02:00
Rémi Bernon adfee25b45 dinput: Remove legacy joystick backends.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 10:58:29 +02:00
Rémi Bernon 7011685e1e dinput: Move PIDVID internal guid to device.c.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 10:58:10 +02:00
Rémi Bernon 46d3521120 dinput: Move device_instance_is_disabled to device.c.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 10:58:03 +02:00
Huw Davies 7d4d3944d6 maintainers: Update GDI files.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-11 10:56:56 +02:00
Alexandre Julliard 7554bd4b41 Release 6.19.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 21:10:44 +02:00
Zebediah Figura 55678ccaae krnl386: Fix a mistyped NULL check in WOWTHUNK_Init().
Fixes Collins English Dictionary.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51802
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 20:20:31 +02:00
Robert Wilhelm 4f5e5cc63f vbscript: Don't use function return value for call expressions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50758
Signed-off-by: Robert Wilhelm <robert.wilhelm@gmx.net>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 20:20:16 +02:00
Jacek Caban 2613f8bfe6 vbscript: Use a dedicated opcode for identifier expressions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 20:20:13 +02:00
Alexandre Julliard 1699847dad makefiles: Only build static libraries that are needed for linking.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:57:24 +02:00
Rémi Bernon 022076532f dinput: Check for ReadFile errors and return DIERR_INPUTLOST.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:56:05 +02:00
Rémi Bernon c93813e11f dinput: Call device read_callback while holding the internal CS.
And remove the device from the list of acquired devices if the callback
indicates a read error.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:56:03 +02:00
Rémi Bernon bbb68aeaae dinput: Wait for CancelIoEx completion when unacquiring HID joysticks.
Otherwise we may later write the cancelled status to invalid memory.

Also use a manual-reset event, as it should be for overlapped I/O, so
all waiters are woken up on cancel.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:56:01 +02:00
Rémi Bernon 2b61d8dd97 dinput: Hold the HID joystick CS when updating the device state.
The read buffer is only used by the reading thread but the device state
is not, we should only update it while holding the CS.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:55:58 +02:00
Rémi Bernon 1014cfcff8 dinput: Do not wait for internal hooks inside the HID joystick CS.
This can cause some deadlocks as the internal thread will acquire the
device CS when reading the state.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:55:55 +02:00
Rémi Bernon ebc70f78fb xinput1_3: Register for device notifications to update controller list.
Based on a patch from Andrew Eikum <aeikum@codeweavers.com>.

Dark Souls Remasters checks for xinput devices when it receives a
WM_DEVICECHANGE message. We would only poll for new devices if it had
been at least 2 seconds since the last check. So often, DS would receive
the message, but we would refuse to poll for devices, so the game would
think no controller was present.

This commit fixes that by also subscribing to event notifications and
triggering a poll.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:55:49 +02:00
Rémi Bernon 65ba91d443 xinput1_3: Initialize the controller list in the update thread.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:55:46 +02:00
Rémi Bernon 986f88bf21 xinput1_3: Do not use delay loaded imports.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:55:39 +02:00
Rémi Bernon 60db389832 xinput1_3: Destroy controllers when ReadFile fails and I/O is not pending.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:55:36 +02:00
Rémi Bernon 54db761040 xinput1_3: Wait for CancelIoEx completion when disabling controllers.
Otherwise we may later write the cancelled status to invalid memory.

Also use a manual-reset event, as it should be for overlapped I/O, so
all waiters are waken up on cancel.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:55:33 +02:00
Ivo Ivanov 5d022fd0dc winebus.sys: Fix incorrect length when parsing uevent "HID_NAME=".
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-10-08 16:55:26 +02:00
Ivo Ivanov 8f37de5149 winebus.sys: Fix memory leaks in bus_event_queue functions.
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-10-08 16:55:23 +02:00
Huw Davies 5689ec7bba ntdll: Return a failure if the unix call funcs don't exist.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 16:55:20 +02:00
Jacek Caban 33dddc84cf win32u: Use syscall interface for brush functions.
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-10-08 16:54:56 +02:00
Jacek Caban 2cc52c6e45 gdi32: Use DLL forwarding for D3DKMT functions.
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-10-08 16:54:52 +02:00
Jacek Caban c166e9694e gdi32: Don't export Wine extensions.
Link directly to win32u instead.

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-10-08 16:54:48 +02:00
Jacek Caban 80df54a407 user32: Link directly to win32u.
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-10-08 16:54:42 +02:00
Jacek Caban 5a66203ba5 gdi32: Rename gdidc.c to dc.c.
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-10-08 16:54:36 +02:00
Daniel Lehman de0e9ad965 ntoskrnl.exe: Fix use-after-free when freeing IRP.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon c9003fab66 winebus.sys: Queue HID reports instead of overwritting the last one.
If the hidclass.sys read requests aren't done fast enough.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51824
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon 068511f8cb winebus.sys: Keep a separate report buffer for each input report id.
And use them for IOCTL_HID_GET_INPUT_REPORT ioctls.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51824
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon 9132979000 winebus.sys: Query and parse device report descriptor on device start.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51824
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon bd780ba618 winebus.sys: Only keep a single read pending.
The design of hidclass.sys prevents any concurrent irps, there's no
need to queue more.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51824
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon bbcee5c23d dinput: Look for the PID set ramp force output report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon 1c4523a9d4 winebus.sys: Add a PID set ramp force output report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon 25a86e4668 dinput: Look for the PID set constant force output report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon 4a2db9f29e winebus.sys: Add a PID set constant force output report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon a971b48b32 dinput: Implement support for the PID effect set condition report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon c263fea14f winebus.sys: Add a PID set condition output report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon d224e8e842 dinput8/tests: Add some DIEFT_CONDITION HID joystick effect tests.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon c8b3e9b262 dinput: Implement support for the PID effect set envelope report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon 4b653ae043 winebus.sys: Add a PID set envelope output report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon 1b3e6b0239 dinput: Implement support for the PID effect set periodic report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Rémi Bernon 6f2e66963c winebus.sys: Add a PID set periodic output report.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:25 +02:00
Dmitry Timoshkov b0a61ee8b0 vcruntime140_1: Fix compilation with clang.
clang -c -o dlls/vcruntime140_1/except_x86_64.cross.o ../wine.src/dlls/vcruntime140_1/except_x86_64.c -Idlls/vcruntime140_1 \
  -I../wine.src/dlls/vcruntime140_1 -Iinclude -I../wine.src/include -I../wine.src/include/msvcrt \
  -D__WINESRC__ -D_UCRT -DWINE_CROSS_PE -Wall -target x86_64-windows -fno-strict-aliasing \
  -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers -Winit-self -Wno-pragma-pack \
  -Wstrict-prototypes -Wtype-limits -Wvla -Wwrite-strings -Wpointer-arith -Wabsolute-value \
  -Wno-format -Wnonnull -mcx16 -gdwarf-2 -gstrict-dwarf -g -O2
In file included from ../wine.src/dlls/vcruntime140_1/except_x86_64.c:25:
In file included from ../wine.src/include/wine/exception.h:25:
../wine.src/include/winternl.h:4239:82: error: unknown type name 'va_list'
NTSYSAPI NTSTATUS  WINAPI RtlFormatMessage(LPCWSTR,ULONG,BOOLEAN,BOOLEAN,BOOLEAN,__ms_va_list *,LPWSTR,ULONG,ULONG*);

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 15:27:22 +02:00
Zebediah Figura 3d521bc7b9 ws2_32: Close the new socket handle on CF_DEFER.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 11:28:01 +02:00
Zebediah Figura 567beb6b2e server: Avoid leaking the poll output buffer if the request is terminated irregularly (Valgrind).
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 11:27:57 +02:00
Zebediah Figura 60dd202fbd server: Do not allocate a connect_req structure for nonblocking sockets (Valgrind).
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-08 11:27:52 +02:00