From 7aec59f05c7531128faede7813d1f1af18a4c362 Mon Sep 17 00:00:00 2001 From: eshifri Date: Mon, 25 Oct 2021 16:33:17 -0700 Subject: [PATCH] Bypass widget options setup when they are not available #890 --- radio/src/gui/colorlcd/screen_setup.cpp | 8 +++++--- radio/src/gui/colorlcd/widget.cpp | 3 ++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/radio/src/gui/colorlcd/screen_setup.cpp b/radio/src/gui/colorlcd/screen_setup.cpp index 97d98fef6..7aca8e660 100644 --- a/radio/src/gui/colorlcd/screen_setup.cpp +++ b/radio/src/gui/colorlcd/screen_setup.cpp @@ -124,14 +124,16 @@ SetupWidgetsPageSlot::SetupWidgetsPageSlot(FormGroup * parent, const rect_t & re menu->addLine(factory->getName(), [=]() { container->createWidget(slotIndex, factory); auto widget = container->getWidget(slotIndex); - new WidgetSettings(parent, widget); + if(widget->getOptions() && widget->getOptions()->name) + new WidgetSettings(parent, widget); }); } }); if (container->getWidget(slotIndex)) { - menu->addLine(TR_WIDGET_SETTINGS, [=]() { - auto widget = container->getWidget(slotIndex); + auto widget = container->getWidget(slotIndex); + if(widget->getOptions() && widget->getOptions()->name) + menu->addLine(TR_WIDGET_SETTINGS, [=]() { new WidgetSettings(parent, widget); }); menu->addLine(STR_REMOVE_WIDGET, [=]() { diff --git a/radio/src/gui/colorlcd/widget.cpp b/radio/src/gui/colorlcd/widget.cpp index a90524d68..cb28becb9 100644 --- a/radio/src/gui/colorlcd/widget.cpp +++ b/radio/src/gui/colorlcd/widget.cpp @@ -38,7 +38,8 @@ static void openWidgetMenu(Widget * parent) menu->addLine("Full screen", [=]() { parent->setFullscreen(true); }); - menu->addLine(TR_WIDGET_SETTINGS, [=]() { + if(parent->getOptions() && parent->getOptions()->name) + menu->addLine(TR_WIDGET_SETTINGS, [=]() { new WidgetSettings(parent, parent); }); }