summaryrefslogtreecommitdiff
path: root/hw/xfree86/common/xf86xv.c
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2007-05-24 12:10:05 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2007-05-24 12:10:05 +0200
commit649e7f82d8d4333443493056b81eb20d6cf022bc (patch)
tree7e039702ec378dedea28979ecfa4e3c806c7866e /hw/xfree86/common/xf86xv.c
parent047bf3349bb697c73c95729a8bbf15f72605901f (diff)
Consolidate portPriv->pDraw assignments into xf86XVEnlistPortInWindow.
This avoids a crash in xf86XVReputVideo and also cleans up the code slightly.
Diffstat (limited to 'hw/xfree86/common/xf86xv.c')
-rw-r--r--hw/xfree86/common/xf86xv.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/hw/xfree86/common/xf86xv.c b/hw/xfree86/common/xf86xv.c
index 2b097d2db..02fcde68c 100644
--- a/hw/xfree86/common/xf86xv.c
+++ b/hw/xfree86/common/xf86xv.c
@@ -979,6 +979,9 @@ xf86XVEnlistPortInWindow(WindowPtr pWin, XvPortRecPrivatePtr portPriv)
winPriv->next = PrivRoot;
pWin->devPrivates[XF86XVWindowIndex].ptr = (pointer)winPriv;
}
+
+ portPriv->pDraw = (DrawablePtr)pWin;
+
return Success;
}
@@ -1375,7 +1378,6 @@ xf86XVPutVideo(
result = xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv);
if(result != Success) return result;
- portPriv->pDraw = pDraw;
portPriv->type = XvInputMask;
/* save a copy of these parameters */
@@ -1479,7 +1481,6 @@ xf86XVPutStill(
xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv);
portPriv->isOn = XV_ON;
- portPriv->pDraw = pDraw;
portPriv->drw_x = drw_x; portPriv->drw_y = drw_y;
portPriv->drw_w = drw_w; portPriv->drw_h = drw_h;
portPriv->type = 0; /* no mask means it's transient and should
@@ -1529,7 +1530,6 @@ xf86XVGetVideo(
result = xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv);
if(result != Success) return result;
- portPriv->pDraw = pDraw;
portPriv->type = XvOutputMask;
/* save a copy of these parameters */
@@ -1784,7 +1784,6 @@ xf86XVPutImage(
(portPriv->AdaptorRec->flags & VIDEO_OVERLAID_IMAGES)) {
portPriv->isOn = XV_ON;
- portPriv->pDraw = pDraw;
portPriv->drw_x = drw_x; portPriv->drw_y = drw_y;
portPriv->drw_w = drw_w; portPriv->drw_h = drw_h;
portPriv->type = 0; /* no mask means it's transient and should