From fac33cd988d6d0c3718ef6e2148d41a4b5141289 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matti=20Lehtim=C3=A4ki?= Date: Fri, 12 Apr 2013 19:33:46 +0300 Subject: Fix crash in config editing menus if using color buttons when config is empty. --- setup_menu.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/setup_menu.c b/setup_menu.c index cecae25..59846d2 100644 --- a/setup_menu.c +++ b/setup_menu.c @@ -86,7 +86,10 @@ protected: item = (LISTITEM *)item->Next(); ++i; } - SetHelp(trVDR("Button$On/Off"), trVDR("Button$New"), trVDR("Button$Delete"), tr("Button$Cancel")); + if (list->Count() > 0) + SetHelp(trVDR("Button$On/Off"), trVDR("Button$New"), trVDR("Button$Delete"), tr("Button$Cancel")); + else + SetHelp(NULL,trVDR("Button$New"), NULL, tr("Button$Cancel")); Display(); } public: @@ -111,9 +114,11 @@ public: if (state == osUnknown) { switch (Key) { case kRed: - list->Get(Current())->ToggleEnabled(); - Set(); - Display(); + if (list->Count() > 0) { + list->Get(Current())->ToggleEnabled(); + Set(); + Display(); + } state = osContinue; break; case kGreen: @@ -126,12 +131,14 @@ public: state = osContinue; break; case kYellow: - Store(); - FreeArray(); - list->Del(list->Get(Current()),true); - LoadListToArray(); - Set(); - Display(); + if (list->Count() > 0) { + Store(); + FreeArray(); + list->Del(list->Get(Current()),true); + LoadListToArray(); + Set(); + Display(); + } state = osContinue; break; case kBlue: -- cgit v1.2.3