From c903e5bc9730a3a1b4eef8f6c70cf4b7ae9357bf Mon Sep 17 00:00:00 2001 From: Cliff Date: Thu, 15 Sep 2022 23:13:28 -0400 Subject: [PATCH] fix (color): Inability to select labels after editing them (#2308) * (fw) Instantly update model bitmap * (fw) Delete menu first, then call update --- radio/src/gui/colorlcd/model_select.cpp | 2 +- radio/src/gui/colorlcd/model_setup.cpp | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/radio/src/gui/colorlcd/model_select.cpp b/radio/src/gui/colorlcd/model_select.cpp index 9b936f4bb..ab11242ce 100644 --- a/radio/src/gui/colorlcd/model_select.cpp +++ b/radio/src/gui/colorlcd/model_select.cpp @@ -335,10 +335,10 @@ class MyMenu : public Menu void deleteLater(bool detach = true, bool trash = true) override { + Menu::deleteLater(detach, trash); if (_finishHandler != nullptr) { _finishHandler(); } - Menu::deleteLater(detach, trash); } protected: diff --git a/radio/src/gui/colorlcd/model_setup.cpp b/radio/src/gui/colorlcd/model_setup.cpp index 1bc6a3ee9..49d0238d1 100644 --- a/radio/src/gui/colorlcd/model_setup.cpp +++ b/radio/src/gui/colorlcd/model_setup.cpp @@ -70,6 +70,13 @@ static void setModelBitmap(std::string newValue) { strncpy(g_model.header.bitmap, newValue.c_str(), sizeof(g_model.header.bitmap)); + g_model.header.bitmap[sizeof(g_model.header.bitmap)-1] = '\0'; + auto model = modelslist.getCurrentModel(); + if (model) { + strncpy(model->modelBitmap, newValue.c_str(), + sizeof(ModelCell::modelBitmap)); + model->modelBitmap[sizeof(ModelCell::modelBitmap)-1] = '\0'; + } SET_DIRTY(); }