From bb2e1c53b58ac94539f0d11ae195186a9ee0a2f7 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 21 Sep 2001 21:58:34 +0000 Subject: [PATCH] hw/kdrive: Xv window private should be allocated on demand --- hw/kdrive/src/kxv.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/hw/kdrive/src/kxv.c b/hw/kdrive/src/kxv.c index 7da5a288a..c2c6e575e 100644 --- a/hw/kdrive/src/kxv.c +++ b/hw/kdrive/src/kxv.c @@ -35,7 +35,7 @@ of the copyright holder. */ -/* $XFree86: xc/programs/Xserver/hw/kdrive/kxv.c,v 1.2 2001/07/20 19:35:29 keithp Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/kdrive/kxv.c,v 1.3 2001/08/09 09:08:54 keithp Exp $ */ #include "kdrive.h" @@ -197,7 +197,7 @@ KdXVScreenInit( KdXVGeneration = serverGeneration; } - if(!AllocateWindowPrivate(pScreen,KdXVWindowIndex,sizeof(KdXVWindowRec))) + if(!AllocateWindowPrivate(pScreen,KdXVWindowIndex,0)) return FALSE; if(!XvGetScreenIndexProc || !XvGetRTPortProc || !XvScreenInitProc) @@ -901,7 +901,12 @@ CLIP_VIDEO_BAILOUT: static int KdXVReputAllVideo(WindowPtr pWin, pointer data) { - KdXVWindowPtr WinPriv = GET_KDXV_WINDOW(pWin); + KdXVWindowPtr WinPriv; + + if (pWin->drawable.type != DRAWABLE_WINDOW) + return WT_DONTWALKCHILDREN; + + WinPriv = GET_KDXV_WINDOW(pWin); while(WinPriv) { if(WinPriv->PortRec->type == XvInputMask)