diff options
author | Brian Paul <[email protected]> | 2012-01-10 19:32:38 -0700 |
---|---|---|
committer | Brian Paul <[email protected]> | 2012-01-11 12:43:45 -0700 |
commit | 0a20051e6da99e91b7bf589ea457c77a8b618f26 (patch) | |
tree | 50900d2fed51aaf8c76b3a5f6de867b6a029e2f9 | |
parent | 7f6de60c585c6ac99d8e6b1280a8d7ce82f3c5e2 (diff) |
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 <[email protected]>
-rw-r--r-- | src/mesa/drivers/x11/xm_api.c | 16 |
1 files 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; |