From 1418e8792f5dd35e32673f0b38a374a7459f7788 Mon Sep 17 00:00:00 2001 From: philmoz Date: Fri, 5 Jul 2024 09:48:40 +1000 Subject: [PATCH] fix(color): built in widgets not resizing properly when view decorations altered (#5247) --- radio/src/gui/colorlcd/widget.h | 5 ++++- radio/src/gui/colorlcd/widgets/widgets_container_impl.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/radio/src/gui/colorlcd/widget.h b/radio/src/gui/colorlcd/widget.h index 059e6eae0..5934f0704 100644 --- a/radio/src/gui/colorlcd/widget.h +++ b/radio/src/gui/colorlcd/widget.h @@ -83,7 +83,10 @@ class Widget : public ButtonBase virtual void background() {} // Update widget 'zone' data (for Lua widgets) - virtual void updateZoneRect(rect_t rect, bool updateUI = true) {} + virtual void updateZoneRect(rect_t rect, bool updateUI = true) + { + if (updateUI) update(); + } void enableFocus(bool enable); diff --git a/radio/src/gui/colorlcd/widgets/widgets_container_impl.h b/radio/src/gui/colorlcd/widgets/widgets_container_impl.h index 749f71101..b99ea162c 100644 --- a/radio/src/gui/colorlcd/widgets/widgets_container_impl.h +++ b/radio/src/gui/colorlcd/widgets/widgets_container_impl.h @@ -132,6 +132,7 @@ class WidgetsContainerImpl : public WidgetsContainer void updateZones() override { + adjustLayout(); for (int i = 0; i < N; i++) { if (widgets[i]) { auto zone = getZone(i);