diff --git a/src/tracks/labeltrack/ui/LabelTextHandle.cpp b/src/tracks/labeltrack/ui/LabelTextHandle.cpp index 18fe53a6a..57d71752a 100644 --- a/src/tracks/labeltrack/ui/LabelTextHandle.cpp +++ b/src/tracks/labeltrack/ui/LabelTextHandle.cpp @@ -66,7 +66,7 @@ UIHandle::Result LabelTextHandle::Click auto &selectionState = pProject->GetSelectionState(); TrackList *const tracks = pProject->GetTracks(); mChanger = - std::make_unique< SelectionStateChanger >( selectionState, *tracks ); + std::make_shared< SelectionStateChanger >( selectionState, *tracks ); const wxMouseEvent &event = evt.event; ViewInfo &viewInfo = pProject->GetViewInfo(); @@ -167,7 +167,7 @@ UIHandle::Result LabelTextHandle::Release if (mChanger) { mChanger->Commit(); - mChanger.release(); + mChanger.reset(); } const wxMouseEvent &event = evt.event; @@ -187,7 +187,6 @@ UIHandle::Result LabelTextHandle::Cancel( AudacityProject *pProject ) // Restore the selection states of tracks // Note that we are also relying on LabelDefaultClickHandle::Cancel // to restore the selection state of the labels in the tracks. - mChanger.release(); ViewInfo &viewInfo = pProject->GetViewInfo(); viewInfo.selectedRegion = mSelectedRegion; auto result = LabelDefaultClickHandle::Cancel( pProject ); diff --git a/src/tracks/labeltrack/ui/LabelTextHandle.h b/src/tracks/labeltrack/ui/LabelTextHandle.h index 96bd1e66e..9dc4c0327 100644 --- a/src/tracks/labeltrack/ui/LabelTextHandle.h +++ b/src/tracks/labeltrack/ui/LabelTextHandle.h @@ -60,7 +60,7 @@ private: int mLabelTrackStartXPos { -1 }; int mLabelTrackStartYPos { -1 }; SelectedRegion mSelectedRegion{}; - std::unique_ptr mChanger; + std::shared_ptr mChanger; }; #endif