From f5f3c5135f51ca8ee860db76bc0486564bfd2bcb Mon Sep 17 00:00:00 2001 From: lllucius Date: Mon, 29 Dec 2014 22:28:32 +0000 Subject: [PATCH] Make sure display refreshes after audio I/O stops What looked simple in r13811 was not so simple apparently. (We REALLY need a gAudioIO->IsCapturing()) --- src/Project.cpp | 10 ++++++---- src/TrackPanel.cpp | 3 +++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Project.cpp b/src/Project.cpp index 43cad534d..c1c6f4429 100644 --- a/src/Project.cpp +++ b/src/Project.cpp @@ -1998,7 +1998,9 @@ void AudacityProject::OnCloseWindow(wxCloseEvent & event) wxCommandEvent dummyEvent; GetControlToolBar()->OnStop(dummyEvent); + FixScrollbars(); SetAudioIOToken(0); + RedrawProject(); } else if (gAudioIO->IsMonitoring()) { gAudioIO->StopStream(); @@ -4737,11 +4739,11 @@ void AudacityProject::OnAudioIOStopRecording() OnUndo(); ResetTimerRecordFlag(); } - } - // Refresh the project window - FixScrollbars(); - RedrawProject(); + // Refresh the project window + FixScrollbars(); + RedrawProject(); + } // Write all cached files to disk, if any mDirManager->WriteCacheToDisk(); diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp index 37acf9fde..e27f9e683 100644 --- a/src/TrackPanel.cpp +++ b/src/TrackPanel.cpp @@ -1053,7 +1053,10 @@ void TrackPanel::OnTimer() if (p->GetAudioIOToken()>0 && !gAudioIO->IsAudioTokenActive(p->GetAudioIOToken())) { + p->FixScrollbars(); p->SetAudioIOToken(0); + p->RedrawProject(); + mRedrawAfterStop = false; //ANSWER-ME: Was DisplaySelection added to solve a repaint problem?