|
|
|
@ -896,30 +896,6 @@ int _glfwPlatformInit(void) |
|
|
|
|
|
|
|
|
|
void _glfwPlatformTerminate(void) |
|
|
|
|
{ |
|
|
|
|
if (_glfw.x11.x11xcb.handle) |
|
|
|
|
{ |
|
|
|
|
dlclose(_glfw.x11.x11xcb.handle); |
|
|
|
|
_glfw.x11.x11xcb.handle = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (_glfw.x11.randr.handle) |
|
|
|
|
{ |
|
|
|
|
dlclose(_glfw.x11.randr.handle); |
|
|
|
|
_glfw.x11.randr.handle = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (_glfw.x11.xcursor.handle) |
|
|
|
|
{ |
|
|
|
|
dlclose(_glfw.x11.xcursor.handle); |
|
|
|
|
_glfw.x11.xcursor.handle = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (_glfw.x11.xinerama.handle) |
|
|
|
|
{ |
|
|
|
|
dlclose(_glfw.x11.xinerama.handle); |
|
|
|
|
_glfw.x11.xinerama.handle = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (_glfw.x11.helperWindowHandle) |
|
|
|
|
{ |
|
|
|
|
if (XGetSelectionOwner(_glfw.x11.display, _glfw.x11.CLIPBOARD) == |
|
|
|
@ -955,6 +931,30 @@ void _glfwPlatformTerminate(void) |
|
|
|
|
_glfw.x11.display = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (_glfw.x11.x11xcb.handle) |
|
|
|
|
{ |
|
|
|
|
dlclose(_glfw.x11.x11xcb.handle); |
|
|
|
|
_glfw.x11.x11xcb.handle = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (_glfw.x11.xcursor.handle) |
|
|
|
|
{ |
|
|
|
|
dlclose(_glfw.x11.xcursor.handle); |
|
|
|
|
_glfw.x11.xcursor.handle = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (_glfw.x11.randr.handle) |
|
|
|
|
{ |
|
|
|
|
dlclose(_glfw.x11.randr.handle); |
|
|
|
|
_glfw.x11.randr.handle = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (_glfw.x11.xinerama.handle) |
|
|
|
|
{ |
|
|
|
|
dlclose(_glfw.x11.xinerama.handle); |
|
|
|
|
_glfw.x11.xinerama.handle = NULL; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// NOTE: This needs to be done after XCloseDisplay, as libGL registers
|
|
|
|
|
// cleanup callbacks that get called by it
|
|
|
|
|
_glfwTerminateGLX(); |
|
|
|
|