diff --git a/exa/exa_render.c b/exa/exa_render.c index 26b29ab..57347d7 100644 --- a/exa/exa_render.c +++ b/exa/exa_render.c @@ -275,16 +275,13 @@ exaTryDriverSolidFill(PicturePtr pSrc, return 0; } - if (!exaGetRGBAFromPixel(pixel, &red, &green, &blue, &alpha, - pSrc->format)) + if (!exaGetRGBAFromPixel(pixel, &red, &green, &blue, &alpha, pSrc->format) || + !exaGetPixelFromRGBA(&pixel, red, green, blue, alpha, pDst->format)) { REGION_UNINIT(pDst->pDrawable->pScreen, ®ion); return -1; } - exaGetPixelFromRGBA(&pixel, red, green, blue, alpha, - pDst->format); - if (!(*pExaScr->info->PrepareSolid) (pDstPix, GXcopy, 0xffffffff, pixel)) { REGION_UNINIT(pDst->pDrawable->pScreen, ®ion);