diff options
author | Neil <nyamatongwe@gmail.com> | 2024-02-01 09:36:08 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2024-02-01 09:36:08 +1100 |
commit | 252cb0fe25a8cbbce19944033e311203e0fb07dc (patch) | |
tree | 49607a3c6cd32981b5ea53598623e706097251ff /src/Document.cxx | |
parent | c6b542f84e65083552e52768db7bb4c11dcd7a64 (diff) | |
download | scintilla-mirror-252cb0fe25a8cbbce19944033e311203e0fb07dc.tar.gz |
Add UndoAction class as internal type for undo actions and make Action a struct
that is used for reporting undo steps to Document.
This will allow further minimization of undo memory use.
Diffstat (limited to 'src/Document.cxx')
-rw-r--r-- | src/Document.cxx | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/Document.cxx b/src/Document.cxx index 1a8c4020f..306cdb725 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -303,7 +303,7 @@ void Document::TentativeUndo() { //Platform::DebugPrintf("Steps=%d\n", steps); for (int step = 0; step < steps; step++) { const Sci::Line prevLinesTotal = LinesTotal(); - const Action &action = cb.GetUndoStep(); + const Action action = cb.GetUndoStep(); if (action.at == ActionType::remove) { NotifyModified(DocModification( ModificationFlags::BeforeInsert | ModificationFlags::Undo, action)); @@ -338,7 +338,7 @@ void Document::TentativeUndo() { modFlags |= ModificationFlags::MultilineUndoRedo; } NotifyModified(DocModification(modFlags, action.position, action.lenData, - linesAdded, action.data.get())); + linesAdded, action.data)); } const bool endSavePoint = cb.IsSavePoint(); @@ -1366,7 +1366,7 @@ Sci::Position Document::Undo() { Range coalescedRemove; // Default is empty at 0 for (int step = 0; step < steps; step++) { const Sci::Line prevLinesTotal = LinesTotal(); - const Action &action = cb.GetUndoStep(); + const Action action = cb.GetUndoStep(); if (action.at == ActionType::remove) { NotifyModified(DocModification( ModificationFlags::BeforeInsert | ModificationFlags::Undo, action)); @@ -1410,7 +1410,7 @@ Sci::Position Document::Undo() { modFlags |= ModificationFlags::MultilineUndoRedo; } NotifyModified(DocModification(modFlags, action.position, action.lenData, - linesAdded, action.data.get())); + linesAdded, action.data)); } const bool endSavePoint = cb.IsSavePoint(); @@ -1433,7 +1433,7 @@ Sci::Position Document::Redo() { const int steps = cb.StartRedo(); for (int step = 0; step < steps; step++) { const Sci::Line prevLinesTotal = LinesTotal(); - const Action &action = cb.GetRedoStep(); + const Action action = cb.GetRedoStep(); if (action.at == ActionType::insert) { NotifyModified(DocModification( ModificationFlags::BeforeInsert | ModificationFlags::Redo, action)); @@ -1470,7 +1470,7 @@ Sci::Position Document::Redo() { } NotifyModified( DocModification(modFlags, action.position, action.lenData, - linesAdded, action.data.get())); + linesAdded, action.data)); } const bool endSavePoint = cb.IsSavePoint(); |