diff --git a/src/tracks/labeltrack/ui/LabelTrackView.cpp b/src/tracks/labeltrack/ui/LabelTrackView.cpp index d3f036a16..9c8fe54d8 100644 --- a/src/tracks/labeltrack/ui/LabelTrackView.cpp +++ b/src/tracks/labeltrack/ui/LabelTrackView.cpp @@ -1079,11 +1079,15 @@ bool LabelTrackView::IsTextClipSupported() } -int LabelTrackView::GetSelectedIndex( AudacityProject & ) const +int LabelTrackView::GetSelectedIndex( AudacityProject &project ) const { // may make delayed update of mutable mSelIndex after track selection change auto track = FindLabelTrack(); - if ( track->GetSelected() ) + if ( track->GetSelected() || + TrackPanel::Get( + // unhappy const_cast because because focus may be set if undefined + const_cast( project ) + ).GetFocusedTrack() == track.get() ) return mSelIndex = std::max( -1, std::min( track->GetLabels().size() - 1, mSelIndex ) ); else @@ -2110,3 +2114,4 @@ std::shared_ptr LabelTrackView::DoGetVRulerControls() return std::make_shared( shared_from_this() ); } +