From 865af20e32591176d03acf984d9b5788d5ebce21 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 14 Jul 2010 06:40:19 +0000 Subject: xserver libxcb git update 14/7/2010 --- xorg-server/hw/xfree86/xaa/xaaInit.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'xorg-server/hw/xfree86/xaa') diff --git a/xorg-server/hw/xfree86/xaa/xaaInit.c b/xorg-server/hw/xfree86/xaa/xaaInit.c index a4b235acf..ff1dd3d8b 100644 --- a/xorg-server/hw/xfree86/xaa/xaaInit.c +++ b/xorg-server/hw/xfree86/xaa/xaaInit.c @@ -508,16 +508,23 @@ XAAChangeWindowAttributes (WindowPtr pWin, unsigned long mask) static Bool XAAEnterVT(int index, int flags) { + ScrnInfoPtr pScrn = xf86Screens[index]; + Bool ret; ScreenPtr pScreen = screenInfo.screens[index]; XAAScreenPtr pScreenPriv = (XAAScreenPtr)dixLookupPrivate(&pScreen->devPrivates, XAAScreenKey); - return((*pScreenPriv->EnterVT)(index, flags)); + pScrn->EnterVT = pScreenPriv->EnterVT; + ret = ((*pScreenPriv->EnterVT)(index, flags)); + pScreenPriv->EnterVT = pScrn->EnterVT; + pScrn->EnterVT = XAAEnterVT; + return ret; } static void XAALeaveVT(int index, int flags) { + ScrnInfoPtr pScrn = xf86Screens[index]; ScreenPtr pScreen = screenInfo.screens[index]; XAAScreenPtr pScreenPriv = (XAAScreenPtr)dixLookupPrivate(&pScreen->devPrivates, XAAScreenKey); @@ -528,7 +535,10 @@ XAALeaveVT(int index, int flags) infoRec->NeedToSync = FALSE; } + pScrn->LeaveVT = pScreenPriv->LeaveVT; (*pScreenPriv->LeaveVT)(index, flags); + pScreenPriv->LeaveVT = pScrn->LeaveVT; + pScrn->LeaveVT = XAALeaveVT; } typedef struct { -- cgit v1.2.3