added clearing touch info when clearing player action
authorHolger Schemel <info@artsoft.org>
Sun, 4 Oct 2020 22:55:29 +0000 (00:55 +0200)
committerHolger Schemel <info@artsoft.org>
Sun, 4 Oct 2020 22:55:29 +0000 (00:55 +0200)
src/events.c

index 41b60832fa50f92d165da235a709403b24d034d4..a7732a8e857ae91e289e1c860faea4b9daf5742d 100644 (file)
@@ -43,6 +43,7 @@ static boolean stop_processing_events = FALSE;
 
 
 // forward declarations for internal use
+static void ClearTouchInfo(void);
 static void HandleNoEvent(void);
 static void HandleEventActions(void);
 
@@ -442,6 +443,7 @@ void ClearPlayerAction(void)
     stored_player[i].snap_action = 0;
   }
 
+  ClearTouchInfo();
   ClearJoystickState();
   ClearPlayerMouseAction();
 }
@@ -708,6 +710,14 @@ static void SetTouchInfo(int pos, SDL_FingerID finger_id, int counter,
   touch_info[pos].action = action;
 }
 
+static void ClearTouchInfo(void)
+{
+  int i;
+
+  for (i = 0; i < NUM_TOUCH_FINGERS; i++)
+    SetTouchInfo(i, 0, 0, 0, JOY_NO_ACTION);
+}
+
 static void HandleFingerEvent_VirtualButtons(FingerEvent *event)
 {
   int x = event->x * overlay.grid_xsize;