diff --git a/radio/src/gui/colorlcd/libui/keyboard_base.cpp b/radio/src/gui/colorlcd/libui/keyboard_base.cpp index e6af3eb07..94a2e1c42 100644 --- a/radio/src/gui/colorlcd/libui/keyboard_base.cpp +++ b/radio/src/gui/colorlcd/libui/keyboard_base.cpp @@ -102,6 +102,13 @@ Keyboard::~Keyboard() if (group) lv_group_del(group); } +void Keyboard::deleteLater() +{ + if (!_deleted) + hide(false); + NavWindow::deleteLater(); +} + void Keyboard::clearField(bool wasCancelled) { TRACE("CLEAR FIELD"); diff --git a/radio/src/gui/colorlcd/libui/keyboard_base.h b/radio/src/gui/colorlcd/libui/keyboard_base.h index cf670073f..cc1fe38b7 100644 --- a/radio/src/gui/colorlcd/libui/keyboard_base.h +++ b/radio/src/gui/colorlcd/libui/keyboard_base.h @@ -36,6 +36,8 @@ class Keyboard : public NavWindow protected: static Keyboard *activeKeyboard; + void deleteLater() override; + lv_group_t* group = nullptr; lv_obj_t* keyboard = nullptr;