SG 3 anos atrás
pai
commit
6f211977e5
1 arquivos alterados com 8 adições e 0 exclusões
  1. 8 0
      tracker_engine/tracker.c

+ 8 - 0
tracker_engine/tracker.c

@@ -75,6 +75,13 @@ static void tracker_song_state_init(Tracker* tracker) {
     }
 }
 
+static void tracker_song_state_clear(Tracker* tracker) {
+    if(tracker->song_state.channels != NULL) {
+        free(tracker->song_state.channels);
+        tracker->song_state.channels = NULL;
+    }
+}
+
 static uint8_t record_get_note(Row note) {
     return note & ROW_NOTE_MASK;
 }
@@ -386,6 +393,7 @@ Tracker* tracker_alloc() {
 }
 
 void tracker_free(Tracker* tracker) {
+    tracker_song_state_clear(tracker);
     free(tracker);
 }