diff options
Diffstat (limited to '')
-rw-r--r-- | recovery.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/recovery.c b/recovery.c index 9ad075d74..c81a13c37 100644 --- a/recovery.c +++ b/recovery.c @@ -446,6 +446,16 @@ get_menu_selection(char** headers, char** items, int menu_only, int key = ui_wait_key(); int visible = ui_text_visible(); + if (key == -1) { // ui_wait_key() timed out + if (ui_text_ever_visible()) { + continue; + } else { + LOGI("timed out waiting for key input; rebooting.\n"); + ui_end_menu(); + return ITEM_REBOOT; + } + } + int action = device_handle_key(key, visible); if (action < 0) { |