SDL: Removing a timer that isn't running is a success.

From 795499a529f27469e9c97de596a1606dfc900eec Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sun, 4 Aug 2024 19:45:18 -0700
Subject: [PATCH] Removing a timer that isn't running is a success.

---
 src/timer/SDL_timer.c       | 6 +-----
 test/testautomation_timer.c | 4 ++--
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/timer/SDL_timer.c b/src/timer/SDL_timer.c
index 20050952b949d..a4420bb9a90ca 100644
--- a/src/timer/SDL_timer.c
+++ b/src/timer/SDL_timer.c
@@ -381,11 +381,7 @@ int SDL_RemoveTimer(SDL_TimerID id)
         }
         SDL_free(entry);
     }
-    if (canceled) {
-        return 0;
-    } else {
-        return SDL_SetError("Timer not found");
-    }
+    return 0;
 }
 
 #else
diff --git a/test/testautomation_timer.c b/test/testautomation_timer.c
index 23d971218e374..98dce1e6797e3 100644
--- a/test/testautomation_timer.c
+++ b/test/testautomation_timer.c
@@ -142,7 +142,7 @@ static int timer_addRemoveTimer(void *arg)
     /* Try to remove timer again (should be a NOOP) */
     result = SDL_RemoveTimer(id);
     SDLTest_AssertPass("Call to SDL_RemoveTimer()");
-    SDLTest_AssertCheck(result < 0, "Check result value, expected: <0, got: %i", result);
+    SDLTest_AssertCheck(result == 0, "Check result value, expected: 0, got: %i", result);
 
     /* Reset state */
     param = SDLTest_RandomIntegerInRange(-1024, 1024);
@@ -162,7 +162,7 @@ static int timer_addRemoveTimer(void *arg)
     /* Remove timer again and check that callback was called */
     result = SDL_RemoveTimer(id);
     SDLTest_AssertPass("Call to SDL_RemoveTimer()");
-    SDLTest_AssertCheck(result < 0, "Check result value, expected: <0, got: %i", result);
+    SDLTest_AssertCheck(result == 0, "Check result value, expected: 0, got: %i", result);
     SDLTest_AssertCheck(g_timerCallbackCalled == 1, "Check callback WAS called, expected: 1, got: %i", g_timerCallbackCalled);
 
     return TEST_COMPLETED;