Cleanup in undo in TextEdit and LineEdit

This commit is contained in:
Sofox
2023-12-12 17:51:53 +00:00
parent 0c03d25ba4
commit a1a5c87f9e
2 changed files with 7 additions and 11 deletions

View File

@ -1208,15 +1208,14 @@ void LineEdit::undo() {
return; return;
} }
if (undo_stack_pos == nullptr) { if (!has_undo()) {
if (undo_stack.size() <= 1) {
return;
}
undo_stack_pos = undo_stack.back();
} else if (undo_stack_pos == undo_stack.front()) {
return; return;
} }
if (undo_stack_pos == nullptr) {
undo_stack_pos = undo_stack.back();
}
deselect(); deselect();
undo_stack_pos = undo_stack_pos->prev(); undo_stack_pos = undo_stack_pos->prev();
@ -1234,10 +1233,7 @@ void LineEdit::redo() {
return; return;
} }
if (undo_stack_pos == nullptr) { if (!has_redo()) {
return;
}
if (undo_stack_pos == undo_stack.back()) {
return; return;
} }

View File

@ -4024,7 +4024,7 @@ void TextEdit::redo() {
} }
_push_current_op(); _push_current_op();
if (undo_stack_pos == nullptr) { if (!has_redo()) {
return; // Nothing to do. return; // Nothing to do.
} }