Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
devel:gcc:next:testing
grub2
0006-EFI-console-Do-not-set-colorstate-until-th...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0006-EFI-console-Do-not-set-colorstate-until-the-first-te.patch of Package grub2
From 81339347bc10ec609227361434f75c5e36b85b9f Mon Sep 17 00:00:00 2001 From: Hans de Goede <hdegoede@redhat.com> Date: Fri, 28 Jan 2022 12:43:48 +0100 Subject: [PATCH 06/10] 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. Cc: Javier Martinez Canillas <javierm@redhat.com> Fixes: 2d7c3abd871f ("efi/console: Do not set text-mode until we actually need it") Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- grub-core/term/efi/console.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/grub-core/term/efi/console.c b/grub-core/term/efi/console.c index 2f1ae85ba7..c44b2ac318 100644 --- a/grub-core/term/efi/console.c +++ b/grub-core/term/efi/console.c @@ -82,6 +82,16 @@ grub_console_setcolorstate (struct grub_term_output *term { grub_efi_simple_text_output_interface_t *o; + if (grub_efi_is_finished || text_mode != GRUB_TEXT_MODE_AVAILABLE) + { + /* + * Cache colorstate changes before the first text-output, this avoids + * "color_normal" environment writes causing a switch to textmode. + */ + text_colorstate = state; + return; + } + if (grub_efi_is_finished) return; -- 2.34.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor