# HG changeset patch # User Peter Nelson # Date 2023-03-08 11:20:50 # Node ID 86131a5ce9d9e7ebaae8089409e9f342264e4974 # Parent d43d79bbf42a164e685567847c8c4d6d32e5d099 Fix: Don't (briefly) switch from title-only playlist on menu screen. Switching playlist while on the menu screen now only changes the playlist that will be used when out of the menu screen. diff --git a/src/music_gui.cpp b/src/music_gui.cpp --- a/src/music_gui.cpp +++ b/src/music_gui.cpp @@ -147,18 +147,20 @@ void MusicSystem::ChangePlaylist(Playlis { assert(pl < PLCH_MAX && pl >= PLCH_ALLMUSIC); - this->displayed_playlist = this->standard_playlists[pl]; - this->active_playlist = this->displayed_playlist; - this->selected_playlist = pl; - this->playlist_position = 0; + if (pl != PLCH_THEMEONLY) _settings_client.music.playlist = pl; - if (this->selected_playlist != PLCH_THEMEONLY) _settings_client.music.playlist = this->selected_playlist; + if (_game_mode != GM_MENU || pl == PLCH_THEMEONLY) { + this->displayed_playlist = this->standard_playlists[pl]; + this->active_playlist = this->displayed_playlist; + this->selected_playlist = pl; + this->playlist_position = 0; - if (_settings_client.music.shuffle) { - this->Shuffle(); - /* Shuffle() will also Play() if necessary, only start once */ - } else if (_settings_client.music.playing) { - this->Play(); + if (_settings_client.music.shuffle) { + this->Shuffle(); + /* Shuffle() will also Play() if necessary, only start once */ + } else if (_settings_client.music.playing) { + this->Play(); + } } InvalidateWindowData(WC_MUSIC_TRACK_SELECTION, 0);