[PATCH 4/6] windows.gaming.input: Use case insensitive compare when looking for devices.
Rémi Bernon
wine at gitlab.winehq.org
Wed May 11 04:19:45 CDT 2022
From: Rémi Bernon <rbernon at codeweavers.com>
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/windows.gaming.input/provider.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/windows.gaming.input/provider.c b/dlls/windows.gaming.input/provider.c
index 70900000eef..1f3f4e047f5 100644
--- a/dlls/windows.gaming.input/provider.c
+++ b/dlls/windows.gaming.input/provider.c
@@ -572,7 +572,7 @@ void provider_create( const WCHAR *device_path )
EnterCriticalSection( &provider_cs );
LIST_FOR_EACH_ENTRY( entry, &provider_list, struct provider, entry )
- if ((found = !wcscmp( entry->device_path, device_path ))) break;
+ if ((found = !wcsicmp( entry->device_path, device_path ))) break;
if (!found) list_add_tail( &provider_list, &impl->entry );
LeaveCriticalSection( &provider_cs );
@@ -592,11 +592,12 @@ void provider_remove( const WCHAR *device_path )
EnterCriticalSection( &provider_cs );
LIST_FOR_EACH_ENTRY( entry, &provider_list, struct provider, entry )
- if ((found = !wcscmp( entry->device_path, device_path ))) break;
+ if ((found = !wcsicmp( entry->device_path, device_path ))) break;
if (found) list_remove( &entry->entry );
LeaveCriticalSection( &provider_cs );
- if (found)
+ if (!found) WARN( "provider not found for device %s\n", debugstr_w( device_path ) );
+ else
{
provider = &entry->IGameControllerProvider_iface;
manager_on_provider_removed( provider );
--
GitLab
https://gitlab.winehq.org/wine/wine/-/merge_requests/53
More information about the wine-devel
mailing list