Merge branch 'master' of gitlab:wintermute/hackover2013-badge-firmware
[hackover2013-badge-firmware.git] / badge / ui / menu.c
index 79e2e8a..3235838 100644 (file)
@@ -19,8 +19,8 @@ static badge_sprite const arrows[] = {
 };
 
 enum {
 };
 
 enum {
-  MENU_MARGIN_TOP      = 2,
-  MENU_MARGIN_BOTTOM   = 3,
+  MENU_MARGIN_TOP      = 3,
+  MENU_MARGIN_BOTTOM   = 2,
   MENU_MARGIN_LEFT     = 3,
   MENU_ENTRIES_HEIGHT  = 1 + BADGE_FONT_HEIGHT,
   MENU_ENTRIES_VISIBLE = (BADGE_DISPLAY_HEIGHT - MENU_MARGIN_TOP - MENU_MARGIN_BOTTOM) / MENU_ENTRIES_HEIGHT
   MENU_MARGIN_LEFT     = 3,
   MENU_ENTRIES_HEIGHT  = 1 + BADGE_FONT_HEIGHT,
   MENU_ENTRIES_VISIBLE = (BADGE_DISPLAY_HEIGHT - MENU_MARGIN_TOP - MENU_MARGIN_BOTTOM) / MENU_ENTRIES_HEIGHT
@@ -39,6 +39,10 @@ static void badge_menu_show(char const *const *menu,
   size_t first_used_row = 0;
   size_t used_rows = MENU_ENTRIES_VISIBLE;
 
   size_t first_used_row = 0;
   size_t used_rows = MENU_ENTRIES_VISIBLE;
 
+  if(selected >= n) {
+    selected = n - 1;
+  }
+
   if(n <= MENU_ENTRIES_VISIBLE) {
     *first_visible = 0;
     used_rows      = n;
   if(n <= MENU_ENTRIES_VISIBLE) {
     *first_visible = 0;
     used_rows      = n;
This page took 0.020333 seconds and 4 git commands to generate.