From cc554350aa0f867e1996899632be3b944f119556 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Sun, 20 Sep 2020 18:51:58 -0400 Subject: [PATCH] Simplify TemporaryClipRemover --- src/tracks/ui/TimeShiftHandle.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/tracks/ui/TimeShiftHandle.cpp b/src/tracks/ui/TimeShiftHandle.cpp index c7f5d1d94..4a275f9ee 100644 --- a/src/tracks/ui/TimeShiftHandle.cpp +++ b/src/tracks/ui/TimeShiftHandle.cpp @@ -693,18 +693,13 @@ namespace { detached[pair.first] = pair.second->Detach(); } - void Fail() - { - failed = true; - } - void Reinsert( - std::unordered_map< Track*, Track* > &correspondence ) + std::unordered_map< Track*, Track* > *pCorrespondence ) { for (auto &pair : detached) { auto pTrack = pair.first; - if (!failed && correspondence.count(pTrack)) - pTrack = correspondence[pTrack]; + if (pCorrespondence && pCorrespondence->count(pTrack)) + pTrack = (*pCorrespondence)[pTrack]; auto &pShifter = state.shifters[pTrack]; if (!pShifter->Attach( std::move( pair.second ) )) MigrationFailure(); @@ -713,7 +708,6 @@ namespace { ClipMoveState &state; DetachedIntervals detached; - bool failed = false; }; } @@ -743,14 +737,13 @@ bool TimeShiftHandle::DoSlideVertical if (!ok) { // Failure, even with using tolerance. - remover.Fail(); - remover.Reinsert( correspondence ); + remover.Reinsert( nullptr ); return false; } // Make the offset permanent; start from a "clean slate" state.mMouseClickX = xx; - remover.Reinsert( correspondence ); + remover.Reinsert( &correspondence ); return true; }