From aef7b7f39d6871b5e33fadef5cf5aa80033ada6c Mon Sep 17 00:00:00 2001 From: Torlando <281092095+torlando-agent[bot]@users.noreply.github.com> Date: Fri, 4 Sep 2026 18:52:43 +0000 Subject: [PATCH] fix(settings): create sec_label with lv_label_create, not lv_obj_create Boot-loop regression from the hub-and-spoke rewrite: lv_label_set_text() on a plain lv_obj object wrote label internals into a non-label and freed a bogus pointer (heap_caps_free assert 'outside heap areas') during UIManager::init -> SettingsScreen::create_advanced_view, crashing every boot at 'Initializing UIManager'. Verified by decoding the on-device backtrace (ELF 62cf1d0e...) against the exact flashed firmware. --- lib/tdeck_ui/UI/LXMF/SettingsScreen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tdeck_ui/UI/LXMF/SettingsScreen.cpp b/lib/tdeck_ui/UI/LXMF/SettingsScreen.cpp index 7fcf7301..500ca5cf 100644 --- a/lib/tdeck_ui/UI/LXMF/SettingsScreen.cpp +++ b/lib/tdeck_ui/UI/LXMF/SettingsScreen.cpp @@ -821,7 +821,7 @@ void SettingsScreen::create_advanced_view(lv_obj_t* parent) { } TextAreaHelper::enable_paste(_ta_announce_interval); - lv_obj_t* sec_label = lv_obj_create(announce_row); + lv_obj_t* sec_label = lv_label_create(announce_row); lv_label_set_text(sec_label, "sec"); lv_obj_align(sec_label, LV_ALIGN_RIGHT_MID, 0, 0); lv_obj_set_style_text_color(sec_label, Theme::textMuted(), 0);