Bug 973192 - call XSync instead of XCloseDisplay unless NS_FREE_PERMANENT_DATA is defined - r=karlt

This commit is contained in:
Benoit Jacob 2014-02-23 18:03:34 -05:00
Родитель b15efc9c98
Коммит 21c0cc3817
1 изменённых файлов: 10 добавлений и 1 удалений

Просмотреть файл

@ -209,7 +209,7 @@ static void glxtest()
const GLubyte *vendorString = glGetString(GL_VENDOR);
const GLubyte *rendererString = glGetString(GL_RENDERER);
const GLubyte *versionString = glGetString(GL_VERSION);
if (!vendorString || !rendererString || !versionString)
fatal_error("glGetString returned null");
@ -229,7 +229,16 @@ static void glxtest()
glXDestroyContext(dpy, context);
XDestroyWindow(dpy, window);
XFreeColormap(dpy, swa.colormap);
#ifdef NS_FREE_PERMANENT_DATA // conditionally defined in nscore.h, don't forget to #include it above
XCloseDisplay(dpy);
#else
// This XSync call wanted to be instead:
// XCloseDisplay(dpy);
// but this can cause 1-minute stalls on certain setups using Nouveau, see bug 973192
XSync(dpy, False);
#endif
dlclose(libgl);
///// Finally write data to the pipe