[PATCH xserver] Xephyr: Handle source-only pictures in ephyrPrepare/DoneComposite

Alex Deucher alexdeucher at gmail.com
Thu Mar 23 04:10:24 UTC 2017


On Wed, Mar 22, 2017 at 11:42 PM, Michel Dänzer <michel at daenzer.net> wrote:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> There is no pixmap associated with source-only pictures.
>
> Fixes Xephyr -fakexa crashing on startup.
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  hw/kdrive/ephyr/ephyr_draw.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/hw/kdrive/ephyr/ephyr_draw.c b/hw/kdrive/ephyr/ephyr_draw.c
> index 5b8a1d504..66371334a 100644
> --- a/hw/kdrive/ephyr/ephyr_draw.c
> +++ b/hw/kdrive/ephyr/ephyr_draw.c
> @@ -254,7 +254,8 @@ ephyrPrepareComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture,
>      EphyrFakexaPriv *fakexa = scrpriv->fakexa;
>
>      ephyrPreparePipelinedAccess(pDst, EXA_PREPARE_DEST);
> -    ephyrPreparePipelinedAccess(pSrc, EXA_PREPARE_SRC);
> +    if (pSrc != NULL)
> +        ephyrPreparePipelinedAccess(pSrc, EXA_PREPARE_SRC);
>      if (pMask != NULL)
>          ephyrPreparePipelinedAccess(pMask, EXA_PREPARE_MASK);
>
> @@ -298,7 +299,8 @@ ephyrDoneComposite(PixmapPtr pDst)
>
>      if (fakexa->pMask != NULL)
>          ephyrFinishPipelinedAccess(fakexa->pMask, EXA_PREPARE_MASK);
> -    ephyrFinishPipelinedAccess(fakexa->pSrc, EXA_PREPARE_SRC);
> +    if (fakexa->pSrc != NULL)
> +        ephyrFinishPipelinedAccess(fakexa->pSrc, EXA_PREPARE_SRC);
>      ephyrFinishPipelinedAccess(fakexa->pDst, EXA_PREPARE_DEST);
>  }
>
> --
> 2.11.0
>
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel


More information about the xorg-devel mailing list