Re: X server problem since 2.4.0-test5-pre1/2 / Fixed!!!

From: Petr Vandrovec (vandrove@vc.cvut.cz)
Date: Thu Jul 20 2000 - 05:10:42 EST


> > --- 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);
> > }
> > }

Hi Dieter and others,
   can you try this instead? Doing set_palette() (and set_origin too if we
are talking about it) before con_switch is severely broken. Old code, before
moving set_palette, did set_palette unconditionally even when KD_GRAPHICS.
   Code below restores this behavior, but still does set_palette() after console
switch. Please tell me whether it fixes your problem too (if not, then
X server must be fixed... if yes, then I believe that this is THE ONE CORRECT
PATCH (tm)).
                                                Best regards,
                                                        Petr Vandrovec
                                                        vandrove@vc.cvut.cz

--- linux-2.4.0-test5-pre3/drivers/char/console.c.orig Wed Jul 19 22:36:04 2000
+++ linux-2.4.0-test5-pre3/drivers/char/console.c Thu Jul 20 12:05:17 2000
@@ -587,10 +587,12 @@
 
         if (redraw) {
                 set_origin(currcons);
- if (sw->con_switch(vc_cons[currcons].d) && vcmode != KD_GRAPHICS) {
+ if (sw->con_switch(vc_cons[currcons].d)) {
                         /* Update the screen contents */
                         set_palette(currcons);
- do_update_region(currcons, origin, screenbuf_size/2);
+ if (vcmode != KD_GRAPHICS) {
+ do_update_region(currcons, origin, screenbuf_size/2);
+ }
                 }
         }
         set_cursor(currcons);

-
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 : Sun Jul 23 2000 - 21:00:13 EST