summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2020-02-24 10:19:51 +1000
committerDylan Baker <dylan@pnwbakers.com>2020-02-25 08:54:32 -0800
commitc2dac5a508c140562df40f9c50d546cf0a5558d8 (patch)
treed553d5d5b25fb354a35dda93a8a35c042c902df8
parent01929a5d90a3bda760a0c9dd2e7f4c09fe7fcb3a (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 <mdaenzer@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3823> (cherry picked from commit 246e4aeaef4c1f1071c64e9681fc9229aac22020)
-rw-r--r--.pick_status.json2
-rw-r--r--src/glx/drisw_glx.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/.pick_status.json b/.pick_status.json
index 3e7f79208dd..de8f1c62a51 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -58,7 +58,7 @@
"description": "glx/drisw: return false if shmid == -1",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": "02c3dad0f3b4d26e0faa5cc51d06bc50d693dcdc"
},
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;