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.
This commit is contained in:
Torlando committed 2026-09-04 18:52:43 +00:00
1 parent dfb2a73876
commit aef7b7f39d
1 file changed
+1 -1
+1 -1
View File
@@ -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);