Module: wine Branch: master Commit: ebae298aa4d2711fef35d4ac60c6012438f36d61 URL: https://source.winehq.org/git/wine.git/?a=commit;h=ebae298aa4d2711fef35d4ac6...
Author: Baruch Rutman peterooch@gmail.com Date: Fri Nov 9 00:45:19 2018 +0200
winmm: Attempt only once to load the default joystick driver.
Signed-off-by: Baruch Rutman peterooch@gmail.com Signed-off-by: Andrew Eikum aeikum@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/winmm/joystick.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/dlls/winmm/joystick.c b/dlls/winmm/joystick.c index 8a52942..5a12b36 100644 --- a/dlls/winmm/joystick.c +++ b/dlls/winmm/joystick.c @@ -68,12 +68,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); }