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 <ajax@redhat.com>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user