diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2017-03-23 12:42:37 +0900 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2017-03-23 15:28:55 +1000 |
commit | eb2cf11724df5cbe0be3cce1ad4c61ba61e8ec6b (patch) | |
tree | af7942a11bdd0d0615353af909969d815e45f8b6 /hw/kdrive | |
parent | fdc79fe72bc0b97776df2c3a664076c60e08a87c (diff) |
Xephyr: Handle source-only pictures in ephyrPrepare/DoneComposite
There is no pixmap associated with source-only pictures.
Fixes Xephyr -fakexa crashing on startup.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'hw/kdrive')
-rw-r--r-- | hw/kdrive/ephyr/ephyr_draw.c | 6 |
1 files 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); } |