diff --git a/apps/shared/text_field_delegate_app.cpp b/apps/shared/text_field_delegate_app.cpp index 809cc836d..a97464dd4 100644 --- a/apps/shared/text_field_delegate_app.cpp +++ b/apps/shared/text_field_delegate_app.cpp @@ -45,7 +45,7 @@ bool TextFieldDelegateApp::cursorInToken(TextField * textField, const char * tok } bool TextFieldDelegateApp::textFieldDidReceiveEvent(TextField * textField, Ion::Events::Event event) { - if (event == Ion::Events::OK && textField->isEditing()) { + if ((event == Ion::Events::OK || event == Ion::Events::EXE) && textField->isEditing()) { Expression * exp = Expression::parse(textField->text()); if (exp == nullptr) { if (textField->textLength() == 0) { diff --git a/escher/src/text_field.cpp b/escher/src/text_field.cpp index 11353fe50..bf33c18c4 100644 --- a/escher/src/text_field.cpp +++ b/escher/src/text_field.cpp @@ -269,7 +269,7 @@ bool TextField::handleEvent(Ion::Events::Event event) { return true; } } - if (event == Ion::Events::OK) { + if (event == Ion::Events::OK || event == Ion::Events::EXE) { if (isEditing()) { strlcpy(m_contentView.textBuffer(), m_contentView.draftTextBuffer(), m_contentView.bufferSize()); setEditing(false); @@ -277,6 +277,9 @@ bool TextField::handleEvent(Ion::Events::Event event) { reloadScroll(); return true; } + if (event == Ion::Events::EXE) { + return false; + } setEditing(true); insertTextAtLocation(m_contentView.textBuffer(), cursorLocation()); setCursorLocation(strlen(m_contentView.draftTextBuffer()));