Skip to content

Commit 361e29c

Browse files
tcl3gmta
authored andcommitted
LibGUI: Don't enter TableView edit mode when a control key is pressed
A key press, which is an ASCII control character will no longer cause TableView to begin editing. This fixes an issue in Spreadsheet where navigating to a cell then pressing escape would cause a that cell's text to be set to a non-printable value. Pressing escape after navigating to a cell now has no effect.
1 parent 4e2e202 commit 361e29c

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Userland/Libraries/LibGUI/TableView.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,8 @@ void TableView::keydown_event(KeyEvent& event)
194194
auto is_delete = event.key() == Key_Delete;
195195
auto is_backspace = event.key() == Key_Backspace;
196196
auto is_clear = is_delete || is_backspace;
197-
auto has_ctrl = event.modifiers() & KeyModifier::Mod_Ctrl;
198-
if (is_editable() && edit_triggers() & EditTrigger::AnyKeyPressed && (event.code_point() != 0 || is_clear) && !has_ctrl) {
197+
auto is_control_character = is_ascii_c0_control(event.code_point());
198+
if (is_editable() && edit_triggers() & EditTrigger::AnyKeyPressed && !event.ctrl() && (!is_control_character || is_clear)) {
199199
begin_editing(cursor_index());
200200
if (m_editing_delegate) {
201201
if (is_delete) {

0 commit comments

Comments
 (0)