EXA: Only take special code path for 1x1 fill for pixmaps.

It doesn't make sense for windows.

Also double-check that the data pointer is valid.

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=23461 (not sure that could
happen on master even without this, but just in case)
This commit is contained in:
Michel Dänzer 2009-09-08 15:25:19 +02:00
parent a9d30f6a03
commit d3ad1804a5

View File

@ -1018,6 +1018,7 @@ exaFillRegionSolid (DrawablePtr pDrawable, RegionPtr pRegion, Pixel pixel,
exaMarkSync(pDrawable->pScreen); exaMarkSync(pDrawable->pScreen);
if (pExaPixmap->pDamage && if (pExaPixmap->pDamage &&
pExaPixmap->sys_ptr && pDrawable->type == DRAWABLE_PIXMAP &&
pDrawable->width == 1 && pDrawable->height == 1 && pDrawable->width == 1 && pDrawable->height == 1 &&
pDrawable->bitsPerPixel != 24) { pDrawable->bitsPerPixel != 24) {
ExaPixmapPriv(pPixmap); ExaPixmapPriv(pPixmap);