From 009b7cbc5748e7fde0f479af8fcd5f7924d13997 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 27 Jul 2025 16:03:47 +0100 Subject: [PATCH] Fix #14480: Music player playlist buttons are clickable but non-operational in intro menu. (#14482) In the intro menu the music is hardcoded to be the introduction track. Therefore, prevent these buttons being clickable. --- src/music_gui.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/music_gui.cpp b/src/music_gui.cpp index cddd9c08db..8c7e031e30 100644 --- a/src/music_gui.cpp +++ b/src/music_gui.cpp @@ -683,13 +683,16 @@ struct MusicWindow : public Window { void UpdateDisabledButtons() { - /* Disable music control widgets if there is no music - * -- except Programme button! So you can still select a music set. */ + /* Disable stop and play if there is no music. */ + this->SetWidgetsDisabledState(BaseMusic::GetUsedSet()->num_available == 0, WID_M_STOP, WID_M_PLAY); + /* Disable most music control widgets if there is no music, or we are in the intro menu. */ this->SetWidgetsDisabledState( - BaseMusic::GetUsedSet()->num_available == 0, - WID_M_PREV, WID_M_NEXT, WID_M_STOP, WID_M_PLAY, WID_M_SHUFFLE, + BaseMusic::GetUsedSet()->num_available == 0 || _game_mode == GM_MENU, + WID_M_PREV, WID_M_NEXT, WID_M_SHUFFLE, WID_M_ALL, WID_M_OLD, WID_M_NEW, WID_M_EZY, WID_M_CUSTOM1, WID_M_CUSTOM2 ); + /* Also disable programme button in the intro menu (not in game; it is desirable to allow change of music set.) */ + this->SetWidgetsDisabledState(_game_mode == GM_MENU, WID_M_PROGRAMME); } void UpdateWidgetSize(WidgetID widget, Dimension &size, [[maybe_unused]] const Dimension &padding, [[maybe_unused]] Dimension &fill, [[maybe_unused]] Dimension &resize) override