]> git.ipfire.org Git - thirdparty/grub.git/commit
term/efi/console: Do not set colorstate until the first text output
authorHans de Goede <hdegoede@redhat.com>
Fri, 28 Jan 2022 11:43:48 +0000 (12:43 +0100)
committerDaniel Kiper <daniel.kiper@oracle.com>
Mon, 21 Mar 2022 20:40:31 +0000 (21:40 +0100)
commit9381dbe045b39bd9395c9ab4276d95b4041ec9fb
tree997cfa21ffc3997afd8550d370d3e5c8ba60c6e4
parent62f0489aff002a44a72d390b42fc571e91378838
term/efi/console: Do not set colorstate until the first text output

GRUB_MOD_INIT(normal) does an unconditional:

  grub_env_set ("color_normal", "light-gray/black");

which triggers a grub_term_setcolorstate() call. The original version
of the "efi/console: Do not set text-mode until we actually need it" patch,
https://lists.gnu.org/archive/html/grub-devel/2018-03/msg00125.html,
protected against this by caching the requested state in
grub_console_setcolorstate() and then only applying it when the first
text output actually happens. During refactoring to move the
grub_console_setcolorstate() up higher in the grub-core/term/efi/console.c
file the code to cache the color-state + bail early was accidentally dropped.
Restore the cache the color-state + bail early behavior from the original.

Fixes: 2d7c3abd871f (efi/console: Do not set text-mode until we actually need it)
Cc: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
grub-core/term/efi/console.c