From 07e2e06baf9fd6c185d3ca38cc614767b1e1c9a3 Mon Sep 17 00:00:00 2001 From: philmoz Date: Fri, 5 May 2023 19:25:30 +1000 Subject: [PATCH] fix: Update GV value in header when precision changes (#3544) --- radio/src/gui/colorlcd/model_gvars.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/radio/src/gui/colorlcd/model_gvars.cpp b/radio/src/gui/colorlcd/model_gvars.cpp index 0b6793e84..2be4f8d68 100644 --- a/radio/src/gui/colorlcd/model_gvars.cpp +++ b/radio/src/gui/colorlcd/model_gvars.cpp @@ -280,6 +280,7 @@ class GVarEditWindow : public Page protected: uint8_t index; gvar_t lastGVar = 0; + uint8_t lastPrec = 0; uint8_t lastFlightMode = 255; // Force initial setting of header title NumberEdit* min = nullptr; NumberEdit* max = nullptr; @@ -297,11 +298,13 @@ class GVarEditWindow : public Page Page::checkEvents(); if (gVarInHeader && ((lastFlightMode != getFlightMode()) || - (lastGVar != g_model.flightModeData[getFlightMode()].gvars[index]))) { + (lastGVar != g_model.flightModeData[getFlightMode()].gvars[index]) || + (lastPrec != g_model.gvars[index].prec))) { char label[32]; lastFlightMode = getFlightMode(); FlightModeData* fmData = &g_model.flightModeData[lastFlightMode]; lastGVar = fmData->gvars[index]; + lastPrec = g_model.gvars[index].prec; sprintf(label, "%s%d=", STR_GV, index + 1); if (lastGVar > GVAR_MAX) { uint8_t fm = lastGVar - GVAR_MAX - 1; @@ -383,7 +386,6 @@ class GVarEditWindow : public Page values[fm]->setSuffix(suffix); values[fm]->invalidate(); } - if (gVarInHeader) gVarInHeader->invalidate(); } void buildBody(FormWindow* window)