aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xfree86/common/xf86xv.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-07-14 06:40:19 +0000
committermarha <marha@users.sourceforge.net>2010-07-14 06:40:19 +0000
commit865af20e32591176d03acf984d9b5788d5ebce21 (patch)
treed5e216fa6fa5cdbb83834cc38bd5b96fc41c97de /xorg-server/hw/xfree86/common/xf86xv.c
parent81124070f120ab658e094b64f6944d701b003a99 (diff)
downloadvcxsrv-865af20e32591176d03acf984d9b5788d5ebce21.tar.gz
vcxsrv-865af20e32591176d03acf984d9b5788d5ebce21.tar.bz2
vcxsrv-865af20e32591176d03acf984d9b5788d5ebce21.zip
xserver libxcb git update 14/7/2010
Diffstat (limited to 'xorg-server/hw/xfree86/common/xf86xv.c')
-rw-r--r--xorg-server/hw/xfree86/common/xf86xv.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/xorg-server/hw/xfree86/common/xf86xv.c b/xorg-server/hw/xfree86/common/xf86xv.c
index 6dae62717..29c74f66e 100644
--- a/xorg-server/hw/xfree86/common/xf86xv.c
+++ b/xorg-server/hw/xfree86/common/xf86xv.c
@@ -1229,11 +1229,15 @@ xf86XVQueryAdaptors(
static Bool
xf86XVEnterVT(int index, int flags)
{
+ ScrnInfoPtr pScrn = xf86Screens[index];
ScreenPtr pScreen = screenInfo.screens[index];
XF86XVScreenPtr ScreenPriv = GET_XF86XV_SCREEN(pScreen);
Bool ret;
+ pScrn->EnterVT = ScreenPriv->EnterVT;
ret = (*ScreenPriv->EnterVT)(index, flags);
+ ScreenPriv->EnterVT = pScrn->EnterVT;
+ pScrn->EnterVT = xf86XVEnterVT;
if(ret) WalkTree(pScreen, xf86XVReputAllVideo, 0);
@@ -1243,6 +1247,7 @@ xf86XVEnterVT(int index, int flags)
static void
xf86XVLeaveVT(int index, int flags)
{
+ ScrnInfoPtr pScrn = xf86Screens[index];
ScreenPtr pScreen = screenInfo.screens[index];
XvScreenPtr pxvs = GET_XV_SCREEN(pScreen);
XF86XVScreenPtr ScreenPriv = GET_XF86XV_SCREEN(pScreen);
@@ -1274,7 +1279,10 @@ xf86XVLeaveVT(int index, int flags)
}
}
+ pScrn->LeaveVT = ScreenPriv->LeaveVT;
(*ScreenPriv->LeaveVT)(index, flags);
+ ScreenPriv->LeaveVT = pScrn->LeaveVT;
+ pScrn->LeaveVT = xf86XVLeaveVT;
}
static void