From 34913d9e95f54e98e79821811e93ae39888c2a14 Mon Sep 17 00:00:00 2001 From: philmoz Date: Wed, 3 Jan 2024 11:38:26 +1100 Subject: [PATCH] fix(color): Mixes list display incorrect after deleting all mixer lines (#4477) --- radio/src/gui/colorlcd/model_mixes.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/radio/src/gui/colorlcd/model_mixes.cpp b/radio/src/gui/colorlcd/model_mixes.cpp index 31a629986..156661d8b 100644 --- a/radio/src/gui/colorlcd/model_mixes.cpp +++ b/radio/src/gui/colorlcd/model_mixes.cpp @@ -425,12 +425,13 @@ void ModelMixesPage::build(FormWindow * window) MixData* line = g_model.mixData; for (uint8_t ch = 0; (ch < MAX_OUTPUT_CHANNELS) && (index < MAX_MIXERS); ch++) { - if (line->destCh == ch) { + bool skip_mix = (ch == 0 && is_memclear(line, sizeof(MixData))); + if (line->destCh == ch && !skip_mix) { // one group for the complete mixer channel auto group = createGroup(form, MIXSRC_FIRST_CH + ch); groups.emplace_back(group); - while (index < MAX_MIXERS && (line->destCh == ch)) { + while (index < MAX_MIXERS && (line->destCh == ch) && !skip_mix) { // one button per input line auto btn = createLineButton(group, index); if (!focusSet) { @@ -439,6 +440,7 @@ void ModelMixesPage::build(FormWindow * window) } ++index; ++line; + skip_mix = (ch == 0 && is_memclear(line, sizeof(MixData))); } } }