From: Brian Paul Date: Wed, 11 Jan 2012 02:32:38 +0000 (-0700) Subject: xlib: stop calling XShmQueryVersion() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0a20051e6da99e91b7bf589ea457c77a8b618f26;p=mesa.git 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 --- 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;