For instance winebus driver is sometimes referred as WineBus, when loaded by winedevice.exe, and sometimes as winebus, when loaded from devices. This makes Wine try to load it twice and initializes the backend twice as well.
Signed-off-by: Rémi Bernon rbernon@codeweavers.com ---
It happened to me while forcing hidraw driver to be loaded before SDL. It causes winebus to be loaded twice and created two devices for each HID device.
This is a better version that should pass our ntoskrnl.exe tests, but I'm not sure how to write native tests for that and if it is possible.
dlls/ntoskrnl.exe/ntoskrnl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 18b17f89fd8..009b0dda812 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -93,7 +93,7 @@ static int wine_drivers_rb_compare( const void *key, const struct wine_rb_entry const struct wine_driver *driver = WINE_RB_ENTRY_VALUE( entry, const struct wine_driver, entry ); const UNICODE_STRING *k = key;
- return RtlCompareUnicodeString( k, &driver->driver_obj.DriverName, FALSE ); + return RtlCompareUnicodeString( k, &driver->driver_obj.DriverName, TRUE ); }
static struct wine_rb_tree wine_drivers = { wine_drivers_rb_compare }; -- 2.23.0