Based on: https://patchwork.freedesktop.org/patch/85636/
Rewritten to also free the resources allocated by panoramix_setup_ids(). Signed-off-by: Hans de Goede <hdego...@redhat.com> --- Xext/shm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Xext/shm.c b/Xext/shm.c index 125000f..1b622e3 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -991,7 +991,7 @@ ProcPanoramiXShmCreatePixmap(ClientPtr client) RT_PIXMAP, pMap, RT_NONE, NULL, DixCreateAccess); if (result != Success) { pDraw->pScreen->DestroyPixmap(pMap); - return result; + break; } dixSetPrivate(&pMap->devPrivates, shmPixmapPrivateKey, shmdesc); shmdesc->refcnt++; @@ -1008,7 +1008,7 @@ ProcPanoramiXShmCreatePixmap(ClientPtr client) } } - if (result == BadAlloc) { + if (result != Success) { while (j--) FreeResource(newPix->info[j].id, RT_NONE); free(newPix); -- 2.9.3 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel