Index: linux/lnx_init.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_init.c,v retrieving revision 1.9 diff -u -r1.9 lnx_init.c --- linux/lnx_init.c 26 Aug 2005 07:35:55 -0000 1.9 +++ linux/lnx_init.c 29 Jun 2006 09:33:05 -0000 @@ -243,9 +243,6 @@ if (!ShareVTs) { -#if defined(DO_OS_FONTRESTORE) - lnx_savefont(); -#endif /* * now get the VT */ @@ -256,7 +253,9 @@ if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) < 0) xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed: %s\n", strerror(errno)); - +#if defined(DO_OS_FONTRESTORE) + lnx_savefont(); +#endif if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0) FatalError("xf86OpenConsole: VT_GETMODE failed %s\n", strerror(errno)); @@ -345,6 +344,11 @@ if (VTSwitch) { +#if defined(DO_OS_FONTRESTORE) + if (xf86Info.vtno == vtno) /* check if we are active */ + lnx_restorefont(); + lnx_freefontdata(); +#endif /* * Perform a switch back to the active VT when we were started */ @@ -355,11 +359,6 @@ activeVT = -1; } -#if defined(DO_OS_FONTRESTORE) - if (xf86Info.vtno == vtno) /* check if we are active */ - lnx_restorefont(); - lnx_freefontdata(); -#endif } close(xf86Info.consoleFd); /* make the vt-manager happy */ Index: shared/VTsw_usl.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/os-support/shared/VTsw_usl.c,v retrieving revision 1.5 diff -u -r1.5 VTsw_usl.c --- shared/VTsw_usl.c 3 Jul 2005 07:01:35 -0000 1.5 +++ shared/VTsw_usl.c 29 Jun 2006 09:33:05 -0000 @@ -64,15 +64,15 @@ xf86VTSwitchAway() { xf86Info.vtRequestsPending = FALSE; +#ifdef OSSWITCHAWAY + OSSWITCHAWAY; +#endif if (ioctl(xf86Info.consoleFd, VT_RELDISP, 1) < 0) { return(FALSE); } else { -#ifdef OSSWITCHAWAY - OSSWITCHAWAY; -#endif return(TRUE); } }