1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 13:37:45 +00:00

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

This reverts commit 0b7e19e2bb.

Let's reverse the direction of the undo stack to fix the confusion.
This commit is contained in:
Andreas Kling 2021-05-08 13:48:07 +02:00
parent 29e323269c
commit 2ef4fbc5c1
2 changed files with 6 additions and 12 deletions

View file

@ -92,12 +92,16 @@ void UndoStack::finalize_current_combo()
void UndoStack::set_current_unmodified() 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 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() void UndoStack::clear()
@ -107,12 +111,4 @@ void UndoStack::clear()
m_clean_index.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;
}
} }

View file

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