Bläddra i källkod

Merge pull request #86085 from TheSofox/text-undo-cleanup

Cleanup in undo in `TextEdit` and `LineEdit`
Thaddeus Crews 11 månader sedan
förälder
incheckning
af3fb0a2b8
2 ändrade filer med 6 tillägg och 10 borttagningar
  1. 5 9
      scene/gui/line_edit.cpp
  2. 1 1
      scene/gui/text_edit.cpp

+ 5 - 9
scene/gui/line_edit.cpp

@@ -1452,13 +1452,12 @@ void LineEdit::undo() {
 		return;
 	}
 
+	if (!has_undo()) {
+		return;
+	}
+
 	if (undo_stack_pos == nullptr) {
-		if (undo_stack.size() <= 1) {
-			return;
-		}
 		undo_stack_pos = undo_stack.back();
-	} else if (undo_stack_pos == undo_stack.front()) {
-		return;
 	}
 
 	deselect();
@@ -1479,10 +1478,7 @@ void LineEdit::redo() {
 		return;
 	}
 
-	if (undo_stack_pos == nullptr) {
-		return;
-	}
-	if (undo_stack_pos == undo_stack.back()) {
+	if (!has_redo()) {
 		return;
 	}
 

+ 1 - 1
scene/gui/text_edit.cpp

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