From 0a20051e6da99e91b7bf589ea457c77a8b618f26 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 10 Jan 2012 19:32:38 -0700 Subject: [PATCH] xlib: stop calling XShmQueryVersion() It caused an X protocol error in some (rare) situations. This is a follow-on to the previous commits which fixes a bug reported by Wayne E. Robertz. NOTE: This is a candidate for the 7.11 branch. Reviewed-by: Adam Jackson --- src/mesa/drivers/x11/xm_api.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c index 81b24593764..bdee2a2a341 100644 --- a/src/mesa/drivers/x11/xm_api.c +++ b/src/mesa/drivers/x11/xm_api.c @@ -114,16 +114,16 @@ static int host_byte_order( void ) static int check_for_xshm( XMesaDisplay *display ) { #if defined(USE_XSHM) - int major, minor, ignore; - Bool pixmaps; + int ignore; if (XQueryExtension( display, "MIT-SHM", &ignore, &ignore, &ignore )) { - if (XShmQueryVersion( display, &major, &minor, &pixmaps )==True) { - return (pixmaps==True) ? 2 : 1; - } - else { - return 0; - } + /* Note: we're no longer calling XShmQueryVersion() here. It seems + * to be flakey (triggers a spurious X protocol error when we close + * one display connection and start using a new one. XShm has been + * around a long time and hasn't changed so if MIT_SHM is supported + * we assume we're good to go. + */ + return 2; } else { return 0; -- 2.30.2