From owner-freebsd-bugs Sat Jan 16 02:50:04 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id CAA00326 for freebsd-bugs-outgoing; Sat, 16 Jan 1999 02:50:04 -0800 (PST) (envelope-from owner-freebsd-bugs@FreeBSD.ORG) Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id CAA00283 for ; Sat, 16 Jan 1999 02:50:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.8.8/8.8.5) id CAA26019; Sat, 16 Jan 1999 02:50:01 -0800 (PST) Date: Sat, 16 Jan 1999 02:50:01 -0800 (PST) Message-Id: <199901161050.CAA26019@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.ORG From: Ying-Chieh Liao Subject: Re: kern/9521: console become yellow after running X Reply-To: Ying-Chieh Liao Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR kern/9521; it has been noted by GNATS. From: Ying-Chieh Liao To: Kazutaka YOKOTA Cc: ijliao@Terry.Dorm10.NCTU.edu.tw, FreeBSD-gnats-submit@freebsd.org Subject: Re: kern/9521: console become yellow after running X Date: Sat, 16 Jan 1999 18:45:46 +0800 On Sat, Jan 16, 1999 at 18:32:09 +0900, Kazutaka YOKOTA wrote: > Apply the following patch to /sys/i386/isa/vesa.c and rebuild the kernel > and /sys/modules/vesa. > Please report if it works for you. it works, thanks :) but there's some little mistakes... > @@ -779,21 +785,35 @@ > static int > vesa_save_palette(video_adapter_t *adp, u_char *palette) > { > - if ((adp != vesa_adp) || !(vesa_adp_info->v_flags & V_DAC8) > - || vesa_bios_set_dac(8)) > - return (*prevvidsw->save_palette)(adp, palette); > + int bits; > + int error; > + > + if ((adp == vesa_adp) && (vesa_adp_info->v_flags & V_DAC8) > + && ((bits = vesa_bios_set_dac(8)) > 6)) { > + error = vesa_bios_save_palette(0, 256, palette, bits); > + if (error == 0) > + return 0 ; > + vesa_bios_set_dac(6); > + } > > - return vesa_bios_save_palette(0, 256, palette); > + return (*prevvidsw->save_palette)(adp, palette); > } > > static int > vesa_load_palette(video_adapter_t *adp, u_char *palette) > { > - if ((adp != vesa_adp) || !(vesa_adp_info->v_flags & V_DAC8) > - || vesa_bios_set_dac(8)) > - return (*prevvidsw->load_palette)(adp, palette); > + int bits; > + int error; > + > + if ((adp == vesa_adp) && (vesa_adp_info->v_flags & V_DAC8) > + && ((bits = vesa_bios_set_dac(8)) > 6)) { > + error = vesa_bios_load_palette(0, 256, palette, bits); > + if (error == 0) > + return 0 ; > + vesa_bios_set_dac(6); > + } > > - return vesa_bios_load_palette(0, 256, palette); > + return (*prevvidsw->load_palette)(adp, palette); > } > > static int -- mailto:ijliao@dragon2.net?subject="send pgp key" to get my pgp public key key finger print : FA 38 7E 91 FA 22 FA F6 63 04 E3 B5 A1 9F 0C CD The International Obfuscated C Code Contest 1984 winner : int i;main(){for(;i["]