[BUG] 2.4.0-test4 and console

From: Mathieu Chouquet-Stringer (mchouque@cs.stevens-tech.edu)
Date: Fri Jul 14 2000 - 17:39:34 EDT

  • Next message: Jan-Benedict Glaw: "test3 -> test4 breaks Alpha"

            Hi!

    I have reported a problem yesterday which I have debuged today.
    Between test2 and test4, some changes were made in console.c and one
    doesn't seem to work properly on my computer. The offending lines are :
            if (redraw) {
                    set_origin(currcons);
                    set_palette(currcons);
                    if (sw->con_switch(vc_cons[currcons].d) && vcmode != KD_GRAPHICS) {
                            /* Update the screen contents */
                            set_palette(currcons);
                            do_update_region(currcons, origin, screenbuf_size/2);
                    }
            }

    set_palette was move from outside the if (sw->...) into the if.
    I use XFree-4.0.1 and with this change if I move back and forth from xfree
    and the vt, the palette isn't restored correctly, ie it's quiet impossible
    to read on the console. The first time, the characters are a little
    visible (contrast is lowered), but if I do that many times, the console
    screen is totally black, in a unusable state (because i'm not very good at
    typing without echo).

    To circumvent this problem, I have made the following patch which works
    very well on my computer (it restored the old way of doing this). By the
    way my video card is a TNT2 ultra if it can change something.

    --- linux-2.4.0-test4-bug/drivers/char/console.c Tue Jul 11 15:20:01 2000
    +++ linux-2.4.0-test4/drivers/char/console.c Fri Jul 14 17:10:47 2000
    @@ -584,12 +584,12 @@
                     currcons = new_console;
                     hide_cursor(currcons);
             }
    -
    +
             if (redraw) {
                     set_origin(currcons);
    + set_palette(currcons);
                     if (sw->con_switch(vc_cons[currcons].d) && vcmode != KD_GRAPHICS) {
                             /* Update the screen contents */
    - set_palette(currcons);
                             do_update_region(currcons, origin, screenbuf_size/2);
                     }
             }

    -- 
    Mathieu CHOUQUET-STRINGER    E-Mail : mchouque@stevens-tech.edu
         "Entities must not be multiplied beyond necessity"
    		-- William of Occam --
    

    - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Fri Jul 14 2000 - 17:46:39 EDT