diff --git a/src/graphics/ui/elements/TextBox.cpp b/src/graphics/ui/elements/TextBox.cpp index b7ac536c..83c15544 100644 --- a/src/graphics/ui/elements/TextBox.cpp +++ b/src/graphics/ui/elements/TextBox.cpp @@ -486,7 +486,7 @@ void TextBox::erase(size_t start, size_t length) { setCaret(caret - length); } auto left = input.substr(0, start); - auto right = input.substr(end); + auto right = end >= input.length() ? L"" : input.substr(end); input = left + right; } @@ -1049,11 +1049,11 @@ void TextBox::keyPressed(Keycode key) { resetSelection(); } } - if (key == Keycode::Z) { + if (editable && key == Keycode::Z) { historian->undo(); refreshSyntax(); } - if (key == Keycode::Y) { + if (editable && key == Keycode::Y) { historian->redo(); refreshSyntax(); }