1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-12-24 17:41:13 +01:00

Simplify TemporaryClipRemover

This commit is contained in:
Paul Licameli
2020-09-20 18:51:58 -04:00
committed by James Crook
parent 2b542bf734
commit cc554350aa

View File

@@ -693,18 +693,13 @@ namespace {
detached[pair.first] = pair.second->Detach(); detached[pair.first] = pair.second->Detach();
} }
void Fail()
{
failed = true;
}
void Reinsert( void Reinsert(
std::unordered_map< Track*, Track* > &correspondence ) std::unordered_map< Track*, Track* > *pCorrespondence )
{ {
for (auto &pair : detached) { for (auto &pair : detached) {
auto pTrack = pair.first; auto pTrack = pair.first;
if (!failed && correspondence.count(pTrack)) if (pCorrespondence && pCorrespondence->count(pTrack))
pTrack = correspondence[pTrack]; pTrack = (*pCorrespondence)[pTrack];
auto &pShifter = state.shifters[pTrack]; auto &pShifter = state.shifters[pTrack];
if (!pShifter->Attach( std::move( pair.second ) )) if (!pShifter->Attach( std::move( pair.second ) ))
MigrationFailure(); MigrationFailure();
@@ -713,7 +708,6 @@ namespace {
ClipMoveState &state; ClipMoveState &state;
DetachedIntervals detached; DetachedIntervals detached;
bool failed = false;
}; };
} }
@@ -743,14 +737,13 @@ bool TimeShiftHandle::DoSlideVertical
if (!ok) { if (!ok) {
// Failure, even with using tolerance. // Failure, even with using tolerance.
remover.Fail(); remover.Reinsert( nullptr );
remover.Reinsert( correspondence );
return false; return false;
} }
// Make the offset permanent; start from a "clean slate" // Make the offset permanent; start from a "clean slate"
state.mMouseClickX = xx; state.mMouseClickX = xx;
remover.Reinsert( correspondence ); remover.Reinsert( &correspondence );
return true; return true;
} }