2008-11-12 Robert Millan <rmh@aybabtu.com>

Fix a regression introduced by the at_keyboard.mod split.  Because
        some terminals are default on some platforms and non-default on
        others, the first terminal being registered determines which is
        going to be default.

        * kern/term.c (grub_term_register_input): If this is the first
        terminal being registered, set it as the current one.
        (grub_term_register_output): Likewise.

        * term/efi/console.c (grub_console_init): Do not call
        grub_term_set_current_output() or grub_term_set_current_input().
        * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
        * term/i386/pc/console.c (grub_console_init): Likewise.
        (grub_console_fini): Do not call grub_term_set_current_input()
        (but leave grub_term_set_current_output() to restore text mode).
This commit is contained in:
robertmh 2008-11-11 23:16:54 +00:00
parent dba3f844eb
commit 761ca975a9
5 changed files with 25 additions and 7 deletions

View file

@ -44,6 +44,8 @@ grub_term_register_input (grub_term_input_t term)
{
term->next = grub_term_list_input;
grub_term_list_input = term;
if (! grub_cur_term_input)
grub_term_set_current_input (term);
}
void
@ -51,6 +53,8 @@ grub_term_register_output (grub_term_output_t term)
{
term->next = grub_term_list_output;
grub_term_list_output = term;
if (! grub_cur_term_output)
grub_term_set_current_output (term);
}
void