From: <sv...@op...> - 2024-11-14 20:50:36
|
Author: sagamusix Date: Thu Nov 14 21:50:24 2024 New Revision: 22184 URL: https://source.openmpt.org/browse/openmpt/?op=revision&rev=22184 Log: [Fix] Hidden items in the main toolbar could still sometimes show up when restarting playback (https://bugs.openmpt.org/view.php?id=1839). Modified: trunk/OpenMPT/mptrack/Mainbar.cpp trunk/OpenMPT/mptrack/TrackerSettings.h Modified: trunk/OpenMPT/mptrack/Mainbar.cpp ============================================================================== --- trunk/OpenMPT/mptrack/Mainbar.cpp Thu Nov 14 00:07:07 2024 (r22183) +++ trunk/OpenMPT/mptrack/Mainbar.cpp Thu Nov 14 21:50:24 2024 (r22184) @@ -535,6 +535,7 @@ // Update Info m_updating = true; const CWnd *focus = GetFocus(); + const FlagSet<MainToolBarItem> visibleItems = TrackerSettings::Instance().mainToolBarVisibleItems.Get(); if(pSndFile) { // Update play/pause button @@ -542,7 +543,7 @@ SetButtonInfo(PLAYCMD_INDEX, ID_PLAYER_PAUSE, TBBS_BUTTON, TOOLBAR_IMAGE_PAUSE); // Update Speed int nSpeed = pSndFile->m_PlayState.m_nMusicSpeed; - if(nSpeed != m_currentSpeed && focus != &m_EditSpeed) + if(nSpeed != m_currentSpeed && focus != &m_EditSpeed && visibleItems[MainToolBarItem::Speed]) { if(m_currentSpeed < 0) EnableEdit(m_EditSpeed, m_SpinSpeed, true); @@ -551,7 +552,7 @@ SetDlgItemInt(IDC_EDIT_CURRENTSPEED, m_currentSpeed, FALSE); } TEMPO nTempo = pSndFile->m_PlayState.m_nMusicTempo; - if(nTempo != m_currentTempo && focus != &m_EditTempo) + if(nTempo != m_currentTempo && focus != &m_EditTempo && visibleItems[MainToolBarItem::Tempo]) { if(m_currentTempo <= TEMPO(0, 0)) EnableEdit(m_EditTempo, m_SpinTempo, true); @@ -560,7 +561,7 @@ m_EditTempo.SetTempoValue(m_currentTempo); } int nRowsPerBeat = pSndFile->m_PlayState.m_nCurrentRowsPerBeat; - if(nRowsPerBeat != m_currentRowsPerBeat && focus != &m_EditRowsPerBeat) + if(nRowsPerBeat != m_currentRowsPerBeat && focus != &m_EditRowsPerBeat && visibleItems[MainToolBarItem::RowsPerBeat]) { if(m_currentRowsPerBeat < 0) EnableEdit(m_EditRowsPerBeat, m_SpinRowsPerBeat, true); @@ -569,7 +570,7 @@ SetDlgItemInt(IDC_EDIT_RPB, m_currentRowsPerBeat, FALSE); } int globalVol = pSndFile->m_PlayState.m_nGlobalVolume; - if(globalVol != m_currentGlobalVolume && focus != &m_EditGlobalVolume) + if(globalVol != m_currentGlobalVolume && focus != &m_EditGlobalVolume && visibleItems[MainToolBarItem::GlobalVolume]) { if(m_currentGlobalVolume < 0) EnableEdit(m_EditGlobalVolume, m_SpinGlobalVolume, true); Modified: trunk/OpenMPT/mptrack/TrackerSettings.h ============================================================================== --- trunk/OpenMPT/mptrack/TrackerSettings.h Thu Nov 14 00:07:07 2024 (r22183) +++ trunk/OpenMPT/mptrack/TrackerSettings.h Thu Nov 14 21:50:24 2024 (r22184) @@ -715,7 +715,7 @@ Setting<FontSetting> commentsFont; - Setting<MainToolBarItem> mainToolBarVisibleItems; + CachedSetting<MainToolBarItem> mainToolBarVisibleItems; Setting<bool> treeViewOnLeft; // Misc |