浏览代码

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

[rcore][SDL2] First touch position is overwritten with mouse pos
Ray 5 月之前
父节点
当前提交
f4f860b343
共有 1 个文件被更改,包括 4 次插入1 次删除
  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