diff --git a/src/Menus.cpp b/src/Menus.cpp index c0e0fa4fd..dc112d9b9 100644 --- a/src/Menus.cpp +++ b/src/Menus.cpp @@ -2930,7 +2930,13 @@ bool AudacityProject::DoPlayStopSelect(bool click, bool shift) // change the selection auto time = gAudioIO->GetStreamTime(); auto &selection = mViewInfo.selectedRegion; - if (shift && click) { + // Test WasSpeedPlaying(), not IsSpeedPlaying() + // as we could be stopped now. + if (GetScrubber().WasSpeedPlaying()) + { + ;// don't change the selection. + } + else if (shift && click) { // Change the region selection, as if by shift-click at the play head auto t0 = selection.t0(), t1 = selection.t1(); if (time < t0) diff --git a/src/tracks/ui/Scrubbing.h b/src/tracks/ui/Scrubbing.h index 2d45ef44d..94014abb7 100644 --- a/src/tracks/ui/Scrubbing.h +++ b/src/tracks/ui/Scrubbing.h @@ -92,6 +92,8 @@ public: wxCoord GetScrubStartPosition() const { return mScrubStartPosition; } + bool WasSpeedPlaying() const + { return mSpeedPlaying;} bool IsSpeedPlaying() const { return IsScrubbing() && mSpeedPlaying; } // True iff the user has clicked to start scrub and not yet stopped,