diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/menus/main_menu.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c index 62250a3c47..a8235dcc59 100644 --- a/apps/menus/main_menu.c +++ b/apps/menus/main_menu.c | |||
@@ -389,9 +389,10 @@ static int info_speak_item(int selected_item, void * data) | |||
389 | 389 | ||
390 | static int info_action_callback(int action, struct gui_synclist *lists) | 390 | static int info_action_callback(int action, struct gui_synclist *lists) |
391 | { | 391 | { |
392 | static int last_redraw = 0; | ||
392 | if (action == ACTION_STD_CANCEL) | 393 | if (action == ACTION_STD_CANCEL) |
393 | return action; | 394 | return action; |
394 | if ((action == ACTION_STD_OK) | 395 | else if ((action == ACTION_STD_OK) |
395 | #ifdef HAVE_MULTIVOLUME | 396 | #ifdef HAVE_MULTIVOLUME |
396 | || action == SYS_HOTSWAP_INSERTED | 397 | || action == SYS_HOTSWAP_INSERTED |
397 | || action == SYS_HOTSWAP_EXTRACTED | 398 | || action == SYS_HOTSWAP_EXTRACTED |
@@ -414,6 +415,14 @@ static int info_action_callback(int action, struct gui_synclist *lists) | |||
414 | #endif | 415 | #endif |
415 | return ACTION_REDRAW; | 416 | return ACTION_REDRAW; |
416 | } | 417 | } |
418 | else if (action == ACTION_NONE) | ||
419 | { | ||
420 | if (TIME_AFTER(current_tick, last_redraw + HZ/2)) | ||
421 | { | ||
422 | last_redraw = current_tick; | ||
423 | return ACTION_REDRAW; | ||
424 | } | ||
425 | } | ||
417 | return action; | 426 | return action; |
418 | } | 427 | } |
419 | static bool show_info(void) | 428 | static bool show_info(void) |