From aef4b80d5395e74ec39d3d4b6d5ebdaa87012db1 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Tue, 21 May 2019 20:43:49 -0400 Subject: [PATCH] a null check on GetActiveProject() --- src/AudacityApp.cpp | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/AudacityApp.cpp b/src/AudacityApp.cpp index b8085d18d..2e3fd57fa 100644 --- a/src/AudacityApp.cpp +++ b/src/AudacityApp.cpp @@ -1706,23 +1706,25 @@ void AudacityApp::OnKeyDown(wxKeyEvent &event) if(event.GetKeyCode() == WXK_ESCAPE) { // Stop play, including scrub, but not record auto project = ::GetActiveProject(); - auto token = ProjectAudioIO::Get( *project ).GetAudioIOToken(); - auto &scrubber = Scrubber::Get( *project ); - auto scrubbing = scrubber.HasMark(); - if (scrubbing) - scrubber.Cancel(); - auto gAudioIO = AudioIO::Get(); - if((token > 0 && - gAudioIO->IsAudioTokenActive(token) && - gAudioIO->GetNumCaptureChannels() == 0) || - scrubbing) - // ESC out of other play (but not record) - ProjectAudioManager::Get( *project ).Stop(); - else - event.Skip(); + if ( project ) { + auto token = ProjectAudioIO::Get( *project ).GetAudioIOToken(); + auto &scrubber = Scrubber::Get( *project ); + auto scrubbing = scrubber.HasMark(); + if (scrubbing) + scrubber.Cancel(); + auto gAudioIO = AudioIO::Get(); + if((token > 0 && + gAudioIO->IsAudioTokenActive(token) && + gAudioIO->GetNumCaptureChannels() == 0) || + scrubbing) + // ESC out of other play (but not record) + ProjectAudioManager::Get( *project ).Stop(); + else + event.Skip(); + } } - else - event.Skip(); + + event.Skip(); } // Ensures directory is created and puts the name into result.