diff options
author | Michel Dänzer <michel@tungstengraphics.com> | 2007-05-24 12:10:05 +0200 |
---|---|---|
committer | Michel Dänzer <michel@tungstengraphics.com> | 2007-05-24 12:10:05 +0200 |
commit | 649e7f82d8d4333443493056b81eb20d6cf022bc (patch) | |
tree | 7e039702ec378dedea28979ecfa4e3c806c7866e /hw/xfree86/common/xf86xv.c | |
parent | 047bf3349bb697c73c95729a8bbf15f72605901f (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.c | 7 |
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 |