diff --git a/src/Menus.cpp b/src/Menus.cpp index 48390f331..7a5b66de4 100644 --- a/src/Menus.cpp +++ b/src/Menus.cpp @@ -6264,7 +6264,9 @@ void AudacityProject::OnRemoveTracks() PushState(_("Removed audio track(s)"), _("Remove Track")); + mTrackPanel->UpdateViewIfNoTracks(); mTrackPanel->Refresh(false); + if (mMixerBoard) mMixerBoard->Refresh(true); } diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp index 9658cbb3c..494ba9b11 100644 --- a/src/TrackPanel.cpp +++ b/src/TrackPanel.cpp @@ -3884,8 +3884,16 @@ void TrackPanel::HandleClosing(wxMouseEvent & event) } SetCapturedTrack( NULL ); } - // BG: There are no more tracks on screen - if (mTracks->IsEmpty()) { + + this->UpdateViewIfNoTracks(); + this->Refresh(false); +} + +void TrackPanel::UpdateViewIfNoTracks() +{ + if (mTracks->IsEmpty()) + { + // BG: There are no more tracks on screen //BG: Set zoom to normal mViewInfo->zoom = 44100.0 / 512.0; @@ -3895,8 +3903,6 @@ void TrackPanel::HandleClosing(wxMouseEvent & event) mListener->TP_RedrawScrollbars(); mListener->TP_DisplayStatusMessage(wxT("")); //STM: Clear message if all tracks are removed - - Refresh(false); } } diff --git a/src/TrackPanel.h b/src/TrackPanel.h index 00d39aa66..2a04da1fe 100644 --- a/src/TrackPanel.h +++ b/src/TrackPanel.h @@ -200,6 +200,7 @@ class AUDACITY_DLL_API TrackPanel:public wxPanel { virtual void OnTrackListResized(wxCommandEvent & event); virtual void OnTrackListUpdated(wxCommandEvent & event); + virtual void UpdateViewIfNoTracks(); // Call this to update mViewInfo, etc, after track(s) removal, before Refresh(). virtual double GetMostRecentXPos();