1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:28:11 +00:00

TextEditor: Clear the selection before deleting it

This patches fixes a crash of the Userland/TextEditor where it would
crash when deleting a range spanning two lines. This was because the
TextEditor would delete the range and modify the cursor position
before clearing the selection. This would trigger a status bar update
with the invalid selection.
This commit is contained in:
Paul Berg 2021-05-02 18:33:31 +02:00 committed by Andreas Kling
parent 97d0028098
commit bd68ca362b

View file

@ -1220,8 +1220,9 @@ String TextEditor::selected_text() const
void TextEditor::delete_selection()
{
auto selection = normalized_selection();
execute<RemoveTextCommand>(selected_text(), selection);
auto selected = selected_text();
m_selection.clear();
execute<RemoveTextCommand>(selected, selection);
did_update_selection();
did_change();
set_cursor(selection.start());