From fbe6c275c9329acd4e0135177e1427d667ef3fda Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 8 May 2021 23:38:01 +0200 Subject: [PATCH] LibGUI: Clear GUI::TextEditor selection before performing undo/redo Fixes #6972. --- Userland/Libraries/LibGUI/TextEditor.cpp | 12 ++++++++++++ Userland/Libraries/LibGUI/TextEditor.h | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibGUI/TextEditor.cpp b/Userland/Libraries/LibGUI/TextEditor.cpp index 8a3b9f97e3..44aa98cef9 100644 --- a/Userland/Libraries/LibGUI/TextEditor.cpp +++ b/Userland/Libraries/LibGUI/TextEditor.cpp @@ -1820,4 +1820,16 @@ void TextEditor::set_ruler_visible(bool visible) update(); } +void TextEditor::undo() +{ + clear_selection(); + document().undo(); +} + +void TextEditor::redo() +{ + clear_selection(); + document().redo(); +} + } diff --git a/Userland/Libraries/LibGUI/TextEditor.h b/Userland/Libraries/LibGUI/TextEditor.h index 7a4d14eba3..6bf15f31f1 100644 --- a/Userland/Libraries/LibGUI/TextEditor.h +++ b/Userland/Libraries/LibGUI/TextEditor.h @@ -130,8 +130,8 @@ public: void do_delete(); void delete_current_line(); void select_all(); - virtual void undo() { document().undo(); } - virtual void redo() { document().redo(); } + virtual void undo(); + virtual void redo(); Function on_change; Function on_modified_change;