diff --git a/tracker/model.go b/tracker/model.go index bb06b7b..47d9dc8 100644 --- a/tracker/model.go +++ b/tracker/model.go @@ -137,6 +137,10 @@ func (m *Model) ResetSong() { } func (m *Model) SetSong(song sointu.Song) { + // guard for malformed songs + if len(song.Score.Tracks) == 0 || song.Score.Length <= 0 || len(song.Patch) == 0 { + return + } m.saveUndo("SetSong", 0) m.setSongNoUndo(song) }