[WINMM] Sync wine commit ebae298 as a fix for CORE-15336 (#1031)

Reduce CPU usage by only attempting once to load the default joystick driver.
Fix for CORE-15336

Imported wine commit ebae298
https://github.com/wine-mirror/wine/commit/ebae298aa4d2711fef35d4ac60c6012438f36d61
https://www.winehq.org/pipermail/wine-devel/2018-November/134767.html
This commit is contained in:
Baruch Rutman
2018-11-14 12:32:55 +01:00
committed by Hermès BÉLUSCA - MAÏTO
parent 13e566444d
commit 97150ce9dd
+10 -1
View File
@@ -55,12 +55,21 @@ static WINE_JOYSTICK JOY_Sticks[MAXJOYSTICK];
*/
static BOOL JOY_LoadDriver(DWORD dwJoyID)
{
if (dwJoyID >= MAXJOYSTICK)
static BOOL winejoystick_missing = FALSE;
if (dwJoyID >= MAXJOYSTICK || winejoystick_missing)
return FALSE;
if (JOY_Sticks[dwJoyID].hDriver)
return TRUE;
JOY_Sticks[dwJoyID].hDriver = OpenDriverA("winejoystick.drv", 0, dwJoyID);
if (!JOY_Sticks[dwJoyID].hDriver)
{
/* The default driver is missing, don't attempt to load it again */
winejoystick_missing = TRUE;
}
return (JOY_Sticks[dwJoyID].hDriver != 0);
}