Baruch Rutman : winmm: Attempt only once to load the default joystick driver.

Alexandre Julliard julliard at winehq.org
Mon Nov 12 16:26:56 CST 2018


Module: wine
Branch: master
Commit: ebae298aa4d2711fef35d4ac60c6012438f36d61
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ebae298aa4d2711fef35d4ac60c6012438f36d61

Author: Baruch Rutman <peterooch at 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 at gmail.com>
Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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);
 }
 




More information about the wine-cvs mailing list