Zebediah Figura : dinput: Factor out the dinput_device_init() call into dinput7_CreateDeviceEx().
Alexandre Julliard
julliard at winehq.org
Mon May 16 15:37:58 CDT 2022
Module: wine
Branch: master
Commit: cc5178fe7308ed9fd49166c23ceb882ab3c5eb24
URL: https://source.winehq.org/git/wine.git/?a=commit;h=cc5178fe7308ed9fd49166c23ceb882ab3c5eb24
Author: Zebediah Figura <zfigura at codeweavers.com>
Date: Mon May 16 11:50:40 2022 +0200
dinput: Factor out the dinput_device_init() call into dinput7_CreateDeviceEx().
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/dinput/dinput_main.c | 7 +++++++
dlls/dinput/joystick_hid.c | 2 --
dlls/dinput/keyboard.c | 6 ------
dlls/dinput/mouse.c | 6 ------
4 files changed, 7 insertions(+), 14 deletions(-)
diff --git a/dlls/dinput/dinput_main.c b/dlls/dinput/dinput_main.c
index 0cd5eb59588..41e143ad43c 100644
--- a/dlls/dinput/dinput_main.c
+++ b/dlls/dinput/dinput_main.c
@@ -545,6 +545,13 @@ static HRESULT WINAPI dinput7_CreateDeviceEx( IDirectInput7W *iface, const GUID
else hr = hid_joystick_create_device( impl, guid, &device );
if (FAILED(hr)) return hr;
+
+ if (FAILED(hr = dinput_device_init( device )))
+ {
+ IDirectInputDevice8_Release( device );
+ return hr;
+ }
+
hr = IDirectInputDevice8_QueryInterface( device, iid, out );
IDirectInputDevice8_Release( device );
return hr;
diff --git a/dlls/dinput/joystick_hid.c b/dlls/dinput/joystick_hid.c
index 3aa6d6b5ad3..ddd67be4fd0 100644
--- a/dlls/dinput/joystick_hid.c
+++ b/dlls/dinput/joystick_hid.c
@@ -2138,8 +2138,6 @@ HRESULT hid_joystick_create_device( struct dinput *dinput, const GUID *guid, IDi
impl->base.caps.dwFFDriverVersion = 1;
}
- if (FAILED(hr = dinput_device_init( &impl->base.IDirectInputDevice8W_iface ))) goto failed;
-
*out = &impl->base.IDirectInputDevice8W_iface;
return DI_OK;
diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c
index 1a1776ac408..f8f7a5a3195 100644
--- a/dlls/dinput/keyboard.c
+++ b/dlls/dinput/keyboard.c
@@ -183,12 +183,6 @@ HRESULT keyboard_create_device( struct dinput *dinput, const GUID *guid, IDirect
impl->base.caps.dwFirmwareRevision = 100;
impl->base.caps.dwHardwareRevision = 100;
- if (FAILED(hr = dinput_device_init( &impl->base.IDirectInputDevice8W_iface )))
- {
- IDirectInputDevice_Release( &impl->base.IDirectInputDevice8W_iface );
- return hr;
- }
-
*out = &impl->base.IDirectInputDevice8W_iface;
return DI_OK;
}
diff --git a/dlls/dinput/mouse.c b/dlls/dinput/mouse.c
index 2a004d80143..622dc1994d1 100644
--- a/dlls/dinput/mouse.c
+++ b/dlls/dinput/mouse.c
@@ -122,12 +122,6 @@ HRESULT mouse_create_device( struct dinput *dinput, const GUID *guid, IDirectInp
if (appkey) RegCloseKey(appkey);
if (hkey) RegCloseKey(hkey);
- if (FAILED(hr = dinput_device_init( &impl->base.IDirectInputDevice8W_iface )))
- {
- IDirectInputDevice_Release( &impl->base.IDirectInputDevice8W_iface );
- return hr;
- }
-
if (dinput->dwVersion >= 0x0800)
{
impl->base.use_raw_input = TRUE;
More information about the wine-cvs
mailing list