diff --git a/dix/dispatch.c b/dix/dispatch.c index 1c40bd2ca..5f7cfe02d 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -1462,8 +1462,9 @@ int dixDestroyPixmap(void *value, XID pid) { PixmapPtr pPixmap = (PixmapPtr) value; - - return (*pPixmap->drawable.pScreen->DestroyPixmap) (pPixmap); + if (pPixmap && pPixmap->drawable.pScreen && pPixmap->drawable.pScreen->DestroyPixmap) + return pPixmap->drawable.pScreen->DestroyPixmap(pPixmap); + return TRUE; } int