diff --git a/src/arch/i386/interface/pcbios/vesafb.c b/src/arch/i386/interface/pcbios/vesafb.c index 8fc6f3d4..557f9017 100644 --- a/src/arch/i386/interface/pcbios/vesafb.c +++ b/src/arch/i386/interface/pcbios/vesafb.c @@ -31,6 +31,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include #include #include +#include #include #include #include @@ -462,6 +463,7 @@ static int vesafb_configure ( struct console_configuration *config ) { if ( ! vesafb_console.disabled ) { vesafb_fini(); bios_console.disabled &= ~CONSOLE_DISABLED_OUTPUT; + ansicol_reset_magic(); } vesafb_console.disabled = CONSOLE_DISABLED; @@ -480,6 +482,10 @@ static int vesafb_configure ( struct console_configuration *config ) { vesafb_console.disabled = 0; bios_console.disabled |= CONSOLE_DISABLED_OUTPUT; + /* Set magic colour to transparent if we have a background picture */ + if ( config->pixbuf ) + ansicol_set_magic_transparent(); + return 0; }