diff options
-rw-r--r-- | src/amdgpu_dri3.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/amdgpu_dri3.c b/src/amdgpu_dri3.c index 0686599..f87c014 100644 --- a/src/amdgpu_dri3.c +++ b/src/amdgpu_dri3.c @@ -138,8 +138,13 @@ static PixmapPtr amdgpu_dri3_pixmap_from_fd(ScreenPtr screen, if (pixmap) { struct amdgpu_pixmap *priv = calloc(1, sizeof(*priv)); - amdgpu_set_pixmap_private(pixmap, priv); - return pixmap; + if (priv) { + amdgpu_set_pixmap_private(pixmap, priv); + return pixmap; + } + + screen->DestroyPixmap(pixmap); + return NULL; } } #endif |