diff options
Diffstat (limited to 'src/boot/efi/boot.c')
-rw-r--r-- | src/boot/efi/boot.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c index a128b38b9c..f49bd9e5f8 100644 --- a/src/boot/efi/boot.c +++ b/src/boot/efi/boot.c @@ -590,7 +590,7 @@ static BOOLEAN menu_run( _cleanup_freepool_ CHAR16 *clearline = NULL, *status = NULL; UINT32 timeout_efivar_saved = config->timeout_sec_efivar; UINT32 timeout_remain = config->timeout_sec == TIMEOUT_MENU_FORCE ? 0 : config->timeout_sec; - BOOLEAN exit = FALSE, run = TRUE, firmware_setup = FALSE, do_beep = config->beep; + BOOLEAN exit = FALSE, run = TRUE, firmware_setup = FALSE; INT64 console_mode_initial = ST->ConOut->Mode->Mode, console_mode_efivar_saved = config->console_mode_efivar; UINTN default_efivar_saved = config->idx_default_efivar; @@ -727,10 +727,9 @@ static BOOLEAN menu_run( ST->ConOut->OutputString(ST->ConOut, clearline + 1 + x + len); } - if (do_beep) { - beep(); - do_beep = FALSE; - } + /* Beep several times so that the selected entry can be distinguished. */ + if (config->beep) + beep(idx_highlight + 1); err = console_key_read(&key, timeout_remain > 0 ? 1000 * 1000 : UINT64_MAX); if (err == EFI_TIMEOUT) { |