Quellcode durchsuchen

Revert "LibGUI: Fix undo stack reporting wrong modified state"

This reverts commit 0b7e19e2bb34cceb340607f0b7f76b338d78767e.

Let's reverse the direction of the undo stack to fix the confusion.
Andreas Kling vor 4 Jahren
Ursprung
Commit
2ef4fbc5c1
2 geänderte Dateien mit 6 neuen und 12 gelöschten Zeilen
  1. 6 10
      Userland/Libraries/LibGUI/UndoStack.cpp
  2. 0 2
      Userland/Libraries/LibGUI/UndoStack.h

+ 6 - 10
Userland/Libraries/LibGUI/UndoStack.cpp

@@ -92,12 +92,16 @@ void UndoStack::finalize_current_combo()
 
 void UndoStack::set_current_unmodified()
 {
-    m_clean_index = non_empty_stack_index();
+    // Skip empty container
+    if (can_undo() && m_stack[m_stack_index].commands.is_empty())
+        m_clean_index = m_stack_index + 1;
+    else
+        m_clean_index = m_stack_index;
 }
 
 bool UndoStack::is_current_modified() const
 {
-    return !m_clean_index.has_value() || non_empty_stack_index() != m_clean_index.value();
+    return !m_clean_index.has_value() || m_stack_index != m_clean_index.value();
 }
 
 void UndoStack::clear()
@@ -107,12 +111,4 @@ void UndoStack::clear()
     m_clean_index.clear();
 }
 
-size_t UndoStack::non_empty_stack_index() const
-{
-    if (can_undo() && m_stack[m_stack_index].commands.is_empty())
-        return m_stack_index + 1;
-    else
-        return m_stack_index;
-}
-
 }

+ 0 - 2
Userland/Libraries/LibGUI/UndoStack.h

@@ -32,8 +32,6 @@ public:
     void clear();
 
 private:
-    size_t non_empty_stack_index() const;
-
     struct Combo {
         NonnullOwnPtrVector<Command> commands;
     };