From 4037c258a1e53d007582eca2a743e87e1c680aa2 Mon Sep 17 00:00:00 2001
From: Vicki Pfau <[EMAIL REDACTED]>
Date: Wed, 22 Oct 2025 18:03:21 -0700
Subject: [PATCH] testcontroller: Fix crash when unplugging a controller while
calibrating gyro
---
test/testcontroller.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/test/testcontroller.c b/test/testcontroller.c
index a68ef107d0238..345b712ef40a1 100644
--- a/test/testcontroller.c
+++ b/test/testcontroller.c
@@ -2208,9 +2208,9 @@ SDL_AppResult SDLCALL SDL_AppEvent(void *appstate, SDL_Event *event)
}
if (display_mode == CONTROLLER_MODE_TESTING) {
- if (GamepadButtonContains(GetGyroResetButton(gyro_elements), event->button.x, event->button.y)) {
+ if (controller && GamepadButtonContains(GetGyroResetButton(gyro_elements), event->button.x, event->button.y)) {
ResetGyroOrientation(controller->imu_state);
- } else if (GamepadButtonContains(GetGyroCalibrateButton(gyro_elements), event->button.x, event->button.y)) {
+ } else if (controller && GamepadButtonContains(GetGyroCalibrateButton(gyro_elements), event->button.x, event->button.y)) {
BeginNoiseCalibrationPhase(controller->imu_state);
} else if (GamepadButtonContains(setup_mapping_button, event->button.x, event->button.y)) {
SetDisplayMode(CONTROLLER_MODE_BINDING);