[PATCH] Xv: Fix AdjustFrame when driver implements ReputImage.

Finally fixes fd.o #4653, filed more than 4 years ago.

Patch can be happily applied to all modular Xorg versions.

Signed-off-by: Luc Verhaegen <libv@skynet.be>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 0e084d8c71)
This commit is contained in:
Luc Verhaegen 2009-11-11 15:52:39 +01:00 committed by Peter Hutterer
parent 21bf1de28c
commit 7ef49cbe70

View File

@ -1297,7 +1297,7 @@ xf86XVAdjustFrame(int index, int x, int y, int flags)
for(i = pa->nPorts; i > 0; i--, pPort++) {
pPriv = (XvPortRecPrivatePtr)pPort->devPriv.ptr;
if(!pPriv->type && (pPriv->isOn == XV_ON)) { /* overlaid still/image */
if(!pPriv->type && (pPriv->isOn != XV_OFF)) { /* overlaid still/image */
if(pPriv->pCompositeClip && pPriv->FreeCompositeClip)
REGION_DESTROY(pScreen, pPriv->pCompositeClip);
@ -1311,7 +1311,7 @@ xf86XVAdjustFrame(int index, int x, int y, int flags)
(pWin->visibility == VisibilityPartiallyObscured)))
{
xf86XVReputImage(pPriv);
} else {
} else if (pPriv->isOn == XV_ON) {
(*pPriv->AdaptorRec->StopVideo)(
pPriv->pScrn, pPriv->DevPriv.ptr, FALSE);
xf86XVRemovePortFromWindow(pWin, pPriv);