aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Document.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2024-02-01 09:36:08 +1100
committerNeil <nyamatongwe@gmail.com>2024-02-01 09:36:08 +1100
commit252cb0fe25a8cbbce19944033e311203e0fb07dc (patch)
tree49607a3c6cd32981b5ea53598623e706097251ff /src/Document.cxx
parentc6b542f84e65083552e52768db7bb4c11dcd7a64 (diff)
downloadscintilla-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.cxx12
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();