Browse Source

Merge pull request #4873 from zet23t/bugfix-4872-sdl-touch-handling-error

[rcore][SDL2] First touch position is overwritten with mouse pos
Ray 5 months ago
parent
commit
f4f860b343
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/platforms/rcore_desktop_sdl.c

+ 4 - 1
src/platforms/rcore_desktop_sdl.c

@@ -1363,7 +1363,10 @@ void PollInputEvents(void)
     for (int i = 0; i < MAX_TOUCH_POINTS; i++) CORE.Input.Touch.previousTouchState[i] = CORE.Input.Touch.currentTouchState[i];
 
     // Map touch position to mouse position for convenience
-    CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition;
+    if (CORE.Input.Touch.pointCount == 0)
+    {
+        CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition;
+    }
 
     int touchAction = -1;       // 0-TOUCH_ACTION_UP, 1-TOUCH_ACTION_DOWN, 2-TOUCH_ACTION_MOVE
     bool realTouch = false;     // Flag to differentiate real touch gestures from mouse ones