From: Connor McAdams <cmcadams@codeweavers.com> Signed-off-by: Connor McAdams <cmcadams@codeweavers.com> --- dlls/dinput/tests/driver_bus.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dlls/dinput/tests/driver_bus.c b/dlls/dinput/tests/driver_bus.c index 5bc6332a63c..5a78df986f3 100644 --- a/dlls/dinput/tests/driver_bus.c +++ b/dlls/dinput/tests/driver_bus.c @@ -604,11 +604,12 @@ static DEVICE_OBJECT *find_child_device( struct func_device *impl, struct hid_de KeAcquireSpinLock( &impl->base.lock, &irql ); devices = impl->devices->Objects; - for (i = 0; i < impl->devices->Count; ++i) + for (i = 0; !device && i < impl->devices->Count; ++i) { - struct phys_device *phys = pdo_from_DEVICE_OBJECT( (device = devices[i]) ); - if (!wcscmp( phys->device_id, device_id )) break; - else device = NULL; + struct phys_device *phys = pdo_from_DEVICE_OBJECT( devices[i] ); + if (wcscmp( phys->device_id, device_id )) continue; + if (*desc->serial_str && wcscmp( phys->serial_str, desc->serial_str )) continue; + device = devices[i]; } KeReleaseSpinLock( &impl->base.lock, irql ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10514