diff --git a/radio/src/thirdparty/libopenui/src/choice.cpp b/radio/src/thirdparty/libopenui/src/choice.cpp index 7a01bc4c5..366d0d03f 100644 --- a/radio/src/thirdparty/libopenui/src/choice.cpp +++ b/radio/src/thirdparty/libopenui/src/choice.cpp @@ -160,11 +160,7 @@ void Choice::openMenu() } menu->setCloseHandler([=]() { - editMode = false; - auto focus = getFocus(); - if (focus && focus->isChild(menu)) { - setFocus(SET_FOCUS_DEFAULT); - } + setEditMode(false); }); setEditMode(true); diff --git a/radio/src/thirdparty/libopenui/src/menu.cpp b/radio/src/thirdparty/libopenui/src/menu.cpp index f09629896..4ff454f63 100644 --- a/radio/src/thirdparty/libopenui/src/menu.cpp +++ b/radio/src/thirdparty/libopenui/src/menu.cpp @@ -55,8 +55,8 @@ void MenuBody::onEvent(event_t event) menu->invalidate(); } else { - lines[selectedIndex].onPress(); menu->deleteLater(); + lines[selectedIndex].onPress(); } } } @@ -86,12 +86,10 @@ bool MenuBody::onTouchEnd(coord_t /*x*/, coord_t y) menu->invalidate(); } else { + menu->deleteLater(); lines[index].onPress(); } } - if (!menu->multiple) { - menu->deleteLater(); - } return true; } #endif