summaryrefslogtreecommitdiffstats
path: root/src/glx
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2020-02-24 10:19:51 +1000
committerMarge Bot <[email protected]>2020-02-25 01:23:01 +0000
commit246e4aeaef4c1f1071c64e9681fc9229aac22020 (patch)
tree808b6af77ab6cc76a3cf1e6e59084c5a65ddda31 /src/glx
parent8d0bab8a9352bbb780bae6e7a432e73f7204f66a (diff)
glx/drisw: return false if shmid == -1
If an attempt to create an shm pixmap in XCreateDrawable fails then it ends up with the shmid == -1. This means the get image path needs to fallback so return false in this case to use the non-shm get image path. Fixes: 02c3dad0f3b4 ("Call shmget() with permission 0600 instead of 0777") Reviewed-by: Michel Dänzer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3823>
Diffstat (limited to 'src/glx')
-rw-r--r--src/glx/drisw_glx.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c
index 6e37f0274b0..dfa3218d759 100644
--- a/src/glx/drisw_glx.c
+++ b/src/glx/drisw_glx.c
@@ -303,6 +303,9 @@ swrastGetImageShm2(__DRIdrawable * read,
if (!XCreateDrawable(prp, shmid, dpy))
return GL_FALSE;
}
+
+ if (prp->shminfo.shmid == -1)
+ return GL_FALSE;
readable = pread->xDrawable;
ximage = prp->ximage;