fix: undo/redo also available when textbox is not editable

This commit is contained in:
MihailRis 2025-11-19 22:54:59 +03:00
parent 38c869e72f
commit 0df5684adf

View File

@ -484,7 +484,7 @@ void TextBox::erase(size_t start, size_t length) {
setCaret(caret - length); setCaret(caret - length);
} }
auto left = input.substr(0, start); auto left = input.substr(0, start);
auto right = input.substr(end); auto right = end >= input.length() ? L"" : input.substr(end);
input = left + right; input = left + right;
} }
@ -1034,11 +1034,11 @@ void TextBox::keyPressed(Keycode key) {
resetSelection(); resetSelection();
} }
} }
if (key == Keycode::Z) { if (editable && key == Keycode::Z) {
historian->undo(); historian->undo();
refreshSyntax(); refreshSyntax();
} }
if (key == Keycode::Y) { if (editable && key == Keycode::Y) {
historian->redo(); historian->redo();
refreshSyntax(); refreshSyntax();
} }