mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-19 17:11:12 +02:00
Some inversion of control flow when popping Undo state
This commit is contained in:
@@ -219,7 +219,6 @@ void DoUndo(AudacityProject &project)
|
||||
{
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto &undoManager = *project.GetUndoManager();
|
||||
auto &selectedRegion = project.GetViewInfo().selectedRegion;
|
||||
auto mixerBoard = project.GetMixerBoard();
|
||||
auto historyWindow = project.GetHistoryWindow();
|
||||
|
||||
@@ -233,8 +232,8 @@ void DoUndo(AudacityProject &project)
|
||||
return;
|
||||
}
|
||||
|
||||
const UndoState &state = undoManager.Undo(&selectedRegion);
|
||||
project.PopState(state);
|
||||
undoManager.Undo(
|
||||
[&]( const UndoState &state ){ project.PopState( state ); } );
|
||||
|
||||
trackPanel->EnsureVisible(trackPanel->GetFirstSelectedTrack());
|
||||
|
||||
@@ -264,7 +263,6 @@ void OnRedo(const CommandContext &context)
|
||||
auto &project = context.project;
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto &undoManager = *project.GetUndoManager();
|
||||
auto &selectedRegion = project.GetViewInfo().selectedRegion;
|
||||
auto mixerBoard = project.GetMixerBoard();
|
||||
auto historyWindow = project.GetHistoryWindow();
|
||||
|
||||
@@ -277,8 +275,8 @@ void OnRedo(const CommandContext &context)
|
||||
return;
|
||||
}
|
||||
|
||||
const UndoState &state = undoManager.Redo(&selectedRegion);
|
||||
project.PopState(state);
|
||||
undoManager.Redo(
|
||||
[&]( const UndoState &state ){ project.PopState( state ); } );
|
||||
|
||||
trackPanel->EnsureVisible(trackPanel->GetFirstSelectedTrack());
|
||||
|
||||
|
Reference in New Issue
Block a user