LibGUI: Fixes modified indicator behavior after saving

Pior to this change when the user added text after having saved the file
the Text Editor wouldn't enable the modified flag, unless this new text
was a new line.

This happened because the UndoStack was merging the Command added by
the new text with the old text one, and when is_current_modified()
was called, the m_stack_index would not have been incremented, and
it would return false.

In this change was added a condition to verify if the modified tag is
active, and the merge is only done if the document is already modified.
This commit is contained in:
luiz 2021-08-14 20:03:37 -03:00 committed by Andreas Kling
parent 83c412ee9e
commit 964249a5b0
Notes: sideshowbarker 2024-07-18 04:45:36 +09:00

View File

@ -62,7 +62,7 @@ void UndoStack::push(NonnullOwnPtr<Command> command)
if (m_clean_index.has_value() && m_clean_index.value() > m_stack.size())
m_clean_index = {};
if (!m_stack.is_empty()) {
if (!m_stack.is_empty() && is_current_modified()) {
if (m_stack.last().merge_with(*command))
return;
}