SDL_mixer: Fix potential infinite loop in `Mix_FreeChunk`

From 67e7fff294d11ac40b2fb575fdb18eb68183dc22 Mon Sep 17 00:00:00 2001
From: JackMacWindows <[EMAIL REDACTED]>
Date: Thu, 9 Feb 2023 18:35:38 -0500
Subject: [PATCH] Fix potential infinite loop in `Mix_FreeChunk`

---
 src/mixer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mixer.c b/src/mixer.c
index 5133f399..a6cd9d68 100644
--- a/src/mixer.c
+++ b/src/mixer.c
@@ -934,9 +934,9 @@ Mix_Chunk *Mix_QuickLoad_RAW(Uint8 *mem, Uint32 len)
 static void  Mix_HaltChannel_locked(int which)
 {
     if (Mix_Playing(which)) {
-        _Mix_channel_done_playing(which);
         mix_channel[which].playing = 0;
         mix_channel[which].looping = 0;
+        _Mix_channel_done_playing(which);
     }
     mix_channel[which].expire = 0;
     if (mix_channel[which].fading != MIX_NO_FADING) /* Restore volume */