From 84395190ec8cae6158737777c8def7cc3304eb3f Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 24 Feb 2020 10:29:46 +1000 Subject: [PATCH] glx/drisw: fix shm put image fallback MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The fallback to the non-shm put path used the wrong width here as the pixmap is still allocated in a shared segment, so the width needs to reflect that. Fixes: 02c3dad0f3b4 ("Call shmget() with permission 0600 instead of 0777") Reviewed-by: Michel Dänzer Tested-by: Marge Bot Part-of: --- src/glx/drisw_glx.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index dfa3218d759..985e258663e 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -193,14 +193,13 @@ swrastXPutImage(__DRIdrawable * draw, int op, ximage->bytes_per_line = stride ? stride : bytes_per_line(w * ximage->bits_per_pixel, 32); ximage->data = data; + ximage->width = ximage->bytes_per_line / ((ximage->bits_per_pixel + 7)/ 8); + ximage->height = h; + if (pdp->shminfo.shmid >= 0) { - ximage->width = ximage->bytes_per_line / ((ximage->bits_per_pixel + 7)/ 8); - ximage->height = h; XShmPutImage(dpy, drawable, gc, ximage, srcx, srcy, x, y, w, h, False); XSync(dpy, False); } else { - ximage->width = w; - ximage->height = h; XPutImage(dpy, drawable, gc, ximage, srcx, srcy, x, y, w, h); } ximage->data = NULL; -- 2.30.2