From 354611a0c64aab27d538e6dfbf79f49bc8cc21c8 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Mon, 16 Oct 2023 10:03:42 -0400
Subject: [PATCH] testaudio: Fixed some bugs Valgrind pointed out.
---
test/testaudio.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/test/testaudio.c b/test/testaudio.c
index 83bdd4163e59..60eb79f51c73 100644
--- a/test/testaudio.c
+++ b/test/testaudio.c
@@ -316,7 +316,9 @@ static void DestroyThing(Thing *thing)
case THING_LOGDEV:
case THING_LOGDEV_CAPTURE:
SDL_CloseAudioDevice(thing->data.logdev.devid);
- SDL_DestroyTexture(thing->data.logdev.visualizer);
+ if (state->renderers[0] != NULL) {
+ SDL_DestroyTexture(thing->data.logdev.visualizer);
+ }
SDL_DestroyMutex(thing->data.logdev.postmix_lock);
SDL_free(thing->data.logdev.postmix_buffer);
break;
@@ -557,6 +559,7 @@ static void StreamThing_ontick(Thing *thing, Uint64 now)
SDL_AudioSpec spec;
if (!available || (SDL_GetAudioStreamFormat(thing->data.stream.stream, NULL, &spec) < 0)) {
DestroyThingInPoof(thing);
+ return;
} else {
const int ticksleft = (int) ((((Uint64) (available / SDL_AUDIO_FRAMESIZE(spec))) * 1000) / spec.freq);
const float pct = thing->data.stream.total_ticks ? (((float) (ticksleft)) / ((float) thing->data.stream.total_ticks)) : 0.0f;