summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rcore.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/rcore.c b/src/rcore.c
index 3f2a1df8..bb885282 100644
--- a/src/rcore.c
+++ b/src/rcore.c
@@ -5944,11 +5944,12 @@ static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event)
if (flags == AMOTION_EVENT_ACTION_POINTER_UP || flags == AMOTION_EVENT_ACTION_UP)
{
// One of the touchpoints is released, remove it from touch point arrays
- for (int i = pointerIndex; (i < CORE.Input.Touch.pointCount-1) && (i < MAX_TOUCH_POINTS); i++)
+ for (int i = pointerIndex; (i < CORE.Input.Touch.pointCount - 1) && (i < MAX_TOUCH_POINTS); i++)
{
CORE.Input.Touch.pointId[i] = CORE.Input.Touch.pointId[i+1];
CORE.Input.Touch.position[i] = CORE.Input.Touch.position[i+1];
}
+
CORE.Input.Touch.pointCount--;
}
@@ -6720,20 +6721,22 @@ static void *EventThread(void *arg)
if (CORE.Input.Mouse.currentPosition.y < 0) CORE.Input.Mouse.currentPosition.y = 0;
if (CORE.Input.Mouse.currentPosition.y > CORE.Window.screen.height/CORE.Input.Mouse.scale.y) CORE.Input.Mouse.currentPosition.y = CORE.Window.screen.height/CORE.Input.Mouse.scale.y;
}
+
+ // Update touch point count
+ CORE.Input.Touch.pointCount = 0;
+ if (CORE.Input.Touch.position[0].x >= 0) CORE.Input.Touch.pointCount++;
+ if (CORE.Input.Touch.position[1].x >= 0) CORE.Input.Touch.pointCount++;
+ if (CORE.Input.Touch.position[2].x >= 0) CORE.Input.Touch.pointCount++;
+ if (CORE.Input.Touch.position[3].x >= 0) CORE.Input.Touch.pointCount++;
#if defined(SUPPORT_GESTURES_SYSTEM) // PLATFORM_RPI, PLATFORM_DRM
if (gestureUpdate)
{
GestureEvent gestureEvent = { 0 };
- gestureEvent.pointCount = 0;
gestureEvent.touchAction = touchAction;
-
- if (CORE.Input.Touch.position[0].x >= 0) gestureEvent.pointCount++;
- if (CORE.Input.Touch.position[1].x >= 0) gestureEvent.pointCount++;
- if (CORE.Input.Touch.position[2].x >= 0) gestureEvent.pointCount++;
- if (CORE.Input.Touch.position[3].x >= 0) gestureEvent.pointCount++;
-
+ gestureEvent.pointCount = CORE.Input.Touch.pointCount;
+
gestureEvent.pointId[0] = 0;
gestureEvent.pointId[1] = 1;
gestureEvent.pointId[2] = 2;