Cleanup in undo in TextEdit and LineEdit
This commit is contained in:
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user