[2/6] winmm: Allow calling joyReleaseCapture multiple times

Bruno Jesus 00cpxxx at gmail.com
Wed Dec 10 22:53:36 CST 2014


-------------- next part --------------

---
 dlls/winmm/joystick.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/dlls/winmm/joystick.c b/dlls/winmm/joystick.c
index d4b500a..9c06fc2 100644
--- a/dlls/winmm/joystick.c
+++ b/dlls/winmm/joystick.c
@@ -279,11 +279,14 @@ MMRESULT WINAPI joyReleaseCapture(UINT wID)
 
     if (wID >= MAXJOYSTICK)		return JOYERR_PARMS;
     if (!JOY_LoadDriver(wID))		return MMSYSERR_NODRIVER;
-    if (!JOY_Sticks[wID].hCapture)	return JOYERR_NOCANDO;
-
-    KillTimer(JOY_Sticks[wID].hCapture, JOY_Sticks[wID].wTimer);
-    JOY_Sticks[wID].hCapture = 0;
-    JOY_Sticks[wID].wTimer = 0;
+    if (JOY_Sticks[wID].hCapture)
+    {
+        KillTimer(JOY_Sticks[wID].hCapture, JOY_Sticks[wID].wTimer);
+        JOY_Sticks[wID].hCapture = 0;
+        JOY_Sticks[wID].wTimer = 0;
+    }
+    else
+        TRACE("Joystick is not captured, ignoring request.\n");
 
     return JOYERR_NOERROR;
 }
-- 
1.8.3.2



More information about the wine-patches mailing list