Commit Graph

162 Commits

Author SHA1 Message Date
Zhiyi Zhang 886d28de97 dinput: Fix a possible deadlock at exit.
This fix another deadlock issue with dinput.

The old implementation of dinput waits for a hook thread to exit
during its uninitialization, which will never return during DLL_THREAD_DETACH.

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:41 +02:00
Sebastian Lackner 02f0342833 dinput: Avoid deadlock when CS are acquired in different order.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43356
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 09:55:23 +02:00
Sebastian Lackner 890d1b812a dinput: Do not wait for hook thread startup in IDirectInput8::Initialize.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=21403
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-03 09:40:57 +02:00
Sven Baars cf1b9fe2c7 dinput: Free the device after a callback (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-29 21:39:20 +01:00
Zebediah Figura d507549038 dinput: Use the global module instance handle to load resources.
This fixes a regression introduced by 56345c8757.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46323
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-20 15:34:01 +01:00
Brendan McGrath 3a2834b3a4 dinput: Use the same GUID for Instance and Product.
Signed-off-by: Brendan McGrath <brendan@redmandi.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-31 17:22:36 +01:00
Michael Stefaniuc 6710a0485d dinput: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:56:16 +02:00
Alistair Leslie-Hughes 56345c8757 dinput8: Share source with dinput.
Based on a patch by Andrew Wesie.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45568
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-21 23:21:52 +02:00
Michael Stefaniuc 870a876773 dinput: Avoid ARRAY_SIZE-like macros.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-06 19:44:26 +02:00
Jetro Jormalainen 41b126b5fc dinput: Handle username in EnumDevicesBySemantics.
EnumDevicesBySemantics enums only devices with given username when
DIEDBSFL_THISUSER is set and only unowned devices when
DIEDBSFL_AVAILABLEDEVICES is set.

Signed-off-by: Jetro Jormalainen <jje-wine@jv.jetro.fi>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-03 20:43:39 +01:00
Jetro Jormalainen 967399eba0 dinput: Keep username same between device objects.
Signed-off-by: Jetro Jormalainen <jje-wine@jv.jetro.fi>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-03 20:43:39 +01:00
Sebastian Lackner f9b4be5556 dinput: Allocate correct amount of memory in IDirectInput8AImpl_EnumDevicesBySemantics.
Fixes 04bddb6c93.

Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-13 18:50:13 +01:00
Jetro Jormalainen 04bddb6c93 dinput: Give correct count of devices still to be enumerated.
EnumDevicesBySemantics should give count of all devices instead of
just keyboard and mouse still to be enumerated when calling callback.

Signed-off-by: Jetro Jormalainen <jje-wine@jv.jetro.fi>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 19:38:07 +01:00
Sebastian Lackner 2a5f05e316 dinput: Use variable of correct type to store HRESULT value.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-13 22:41:03 +09:00
Bruno Jesus 80fca2d86d dinput: Remove trailing space from debug string.
Spotted by Elias Vanderstuyft.

Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-13 12:47:57 +09:00
Bruno Jesus e3b783174d dinput: Add DirectInput8 device type names to debug.
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-15 12:56:09 +09:00
Thomas Faber 805473dec7 dinput: Implement MSVC version of enum_callback_wrapper.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:10 +09:00
Andrew Nguyen 6566cd76ce dinput: Allow EnumDevices callback functions with broken calling conventions.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-16 17:21:26 +09:00
Sebastian Lackner bfb845f9fc dinput: Ensure X11 input events are forwarded to wineserver even without message loop.
This commit basically reverts b22ff8018a.

Windows does not do that, but our current implementation of winex11
requires periodic event polling to forward events to the wineserver.

Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 01:13:58 +09:00
André Hentschel c440168e53 dinput: Remove unused functions (Clang). 2014-11-25 19:49:40 +01:00
Andrew Eikum 0ba314ebfa dinput: Enumerate devices past the first non-matching device. 2013-05-21 12:08:01 +02:00
Alexandre Julliard d15aee92f2 dinput: Don't bother to delete critical sections at process exit. 2013-05-16 12:53:07 +02:00
Eric Pouech d1ccbceb4d Various background processes must be launched detached from current console (if any). 2013-01-16 14:02:55 +01:00
Christian Costa 6d62cc1212 dinput: Replace FIXMEs by TRACEs in dump function. 2012-10-15 15:25:23 +02:00
Lucas Zawacki e8f808a607 dinput: Semi-stub for IDirectInputJoyConfig8_GetConfig. 2012-08-14 12:01:10 +02:00
Lucas Zawacki 146176cc38 dinput: Correct wrong loop delimiter in diactionformat_priority. 2012-03-26 18:15:04 +02:00
Vitaliy Margolen 7260132c5d dinput: Fix device enumeration by DX8 device type. 2011-12-02 12:15:35 +01:00
Vitaliy Margolen 699da40d1b dinput: Add more error checking to IDirectInput_GetDeviceStatus. 2011-11-29 14:04:25 +01:00
Vitaliy Margolen 310859db67 dinput: Add more parameter checking to enum devices. 2011-11-29 14:04:20 +01:00
Vitaliy Margolen a84d2fe20e dinput: Stub IDirectInputJoyConfig8 interface. 2011-11-29 14:04:01 +01:00
Francois Gouget 4ed24cd5f5 dinput: Delete the static critical section when unloading the dll. 2011-11-16 17:02:39 +01:00
Francois Gouget ca8c1103af dinput: Fix printing NULL strings. 2011-09-19 17:56:05 +02:00
Lucas Fialho Zawacki 0ae4710926 dinput: Added ConfigureDevices dialog. 2011-09-06 12:22:09 +02:00
Lucas Fialho Zawacki 89367ebec0 dinput: Added ConfigureDevices A to W crosscall. 2011-08-26 13:13:36 +02:00
Francois Gouget 19edb43627 dinput: Make _dump_diactionformatA() static. 2011-08-03 14:15:48 +02:00
Alexandre Julliard b56dc9a6f7 winecrt0: Remove the clsid parameter in __wine_(un)register_resources. 2011-08-02 20:47:49 +02:00
Marcus Meissner 011a817e65 dinput: const REFGUID is doubled const (Coverity). 2011-07-26 18:00:13 +02:00
Lucas Fialho Zawacki 6e098f90a6 dinput: EnumDevicesBySemantics enumerate joysticks with priority flags. 2011-07-22 12:57:21 +02:00
Lucas Fialho Zawacki 4958db8eba dinput: Corrected misuse of index in EnumDevicesBySemantics. 2011-07-14 14:11:40 +02:00
Lucas Fialho Zawacki bc5d32bec6 dinput: EnumDevicesBySemantics enumerating all kinds of joysticks. 2011-07-12 11:37:36 +02:00
Lucas Fialho Zawacki 662d332246 dinput: Prevent EnumDevicesBySematics from enumerating keyboard and mouse as having force feedback. 2011-07-11 12:24:55 +02:00
Lucas Fialho Zawacki 13421a210b dinput: Made EnumDevicesBySemantics more terse. 2011-07-11 12:24:42 +02:00
Andrew Nguyen cf073c8ad4 dinput8: Improve the behavior of DirectInput8Create. 2011-07-06 11:13:53 +02:00
Andrew Nguyen 10e28144c0 dinput: Improve the behavior of DirectInputCreateEx. 2011-07-06 11:13:47 +02:00
Andrew Nguyen c126b21a34 dinput: Extract the DirectInput instance creation and initialization in DirectInputCreateEx to separate functions. 2011-07-06 11:13:45 +02:00
Andrew Nguyen 9b1060d090 dinput: Add tests for IDirectInput::EnumDevices and add a parameter check. 2011-07-06 11:13:42 +02:00
Andrew Nguyen 324c76f386 dinput: Improve the behavior of IDirectInput::CreateDevice. 2011-07-06 11:13:40 +02:00
Andrew Nguyen 26932c84b0 dinput: Improve the behavior of IDirectInput::Initialize. 2011-07-06 11:13:38 +02:00
Andrew Nguyen c28512a5a6 dinput: Fix some return values of IDirectInput::QueryInterface. 2011-07-06 11:13:36 +02:00
Andrew Nguyen 90e9e3103a dinput: Implement IDirectInput::RunControlPanel. 2011-07-06 11:13:31 +02:00