int _glfwPlatformTerminate( void ) { #ifdef _GLFW_HAS_PTHREAD // Only the main thread is allowed to do this... if( pthread_self() != _glfwThrd.First.PosixID ) { return GL_FALSE; } #endif // _GLFW_HAS_PTHREAD // Close OpenGL window glfwCloseWindow(); // Kill thread package _glfwTerminateThreads(); // Terminate display _glfwTerminateDisplay(); // Terminate joysticks _glfwTerminateJoysticks(); // Unload libGL.so if necessary #ifdef _GLFW_DLOPEN_LIBGL if( _glfwLibrary.Libs.libGL != NULL ) { dlclose( _glfwLibrary.Libs.libGL ); _glfwLibrary.Libs.libGL = NULL; } #endif return GL_TRUE; }
void _glfwPlatformTerminate(void) { if (_glfw.x11.cursor) { XFreeCursor(_glfw.x11.display, _glfw.x11.cursor); _glfw.x11.cursor = (Cursor) 0; } free(_glfw.x11.clipboardString); if (_glfw.x11.im) { XCloseIM(_glfw.x11.im); _glfw.x11.im = NULL; } if (_glfw.x11.display) { XCloseDisplay(_glfw.x11.display); _glfw.x11.display = NULL; } // NOTE: This needs to be done after XCloseDisplay, as libGL registers // cleanup callbacks that get called by it _glfwTerminateContextAPI(); _glfwTerminateJoysticks(); }
int _glfwPlatformTerminate(void) { if (_glfwLibrary.X11.cursor) { XFreeCursor(_glfwLibrary.X11.display, _glfwLibrary.X11.cursor); _glfwLibrary.X11.cursor = (Cursor) 0; } _glfwTerminateGammaRamp(); terminateDisplay(); _glfwTerminateJoysticks(); // Unload libGL.so if necessary #ifdef _GLFW_DLOPEN_LIBGL if (_glfwLibrary.GLX.libGL != NULL) { dlclose(_glfwLibrary.GLX.libGL); _glfwLibrary.GLX.libGL = NULL; } #endif // Free clipboard memory if (_glfwLibrary.X11.selection.string) free(_glfwLibrary.X11.selection.string); return GL_TRUE; }
void _glfwPlatformTerminate(void) { if (_glfw.x11.cursor) { XFreeCursor(_glfw.x11.display, _glfw.x11.cursor); _glfw.x11.cursor = (Cursor) 0; } free(_glfw.x11.clipboardString); if (_glfw.x11.im) { XCloseIM(_glfw.x11.im); _glfw.x11.im = NULL; } _glfwTerminateJoysticks(); _glfwTerminateContextAPI(); if (_glfw.x11.display) { XCloseDisplay(_glfw.x11.display); _glfw.x11.display = NULL; } }
void _glfwPlatformTerminate(void) { _glfwTerminateContextAPI(); _glfwTerminateJoysticks(); mir_connection_release(_glfw.mir.connection); }
void _glfwPlatformTerminate(void) { _glfwTerminateContextAPI(); _glfwTerminateJoysticks(); _glfwDeleteEventQueue(_glfw.mir.event_queue); pthread_mutex_destroy(&_glfw.mir.event_mutex); mir_connection_release(_glfw.mir.connection); }
void _glfwPlatformTerminate(void) { if (_glfw.x11.cursor) { XFreeCursor(_glfw.x11.display, _glfw.x11.cursor); _glfw.x11.cursor = (Cursor) 0; } free(_glfw.x11.selection.string); _glfwTerminateJoysticks(); _glfwTerminateContextAPI(); terminateDisplay(); }
void _glfwPlatformTerminate(void) { _glfwUnregisterWindowClass(); // Restore previous foreground lock timeout system setting SystemParametersInfoW(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, UIntToPtr(_glfw.win32.foregroundLockTimeout), SPIF_SENDCHANGE); free(_glfw.win32.clipboardString); _glfwTerminateJoysticks(); _glfwTerminateContextAPI(); terminateLibraries(); }
void _glfwPlatformTerminate(void) { _glfwTerminateContextAPI(); _glfwTerminateJoysticks(); if (_glfw.wl.cursorTheme) wl_cursor_theme_destroy(_glfw.wl.cursorTheme); if (_glfw.wl.cursorSurface) wl_surface_destroy(_glfw.wl.cursorSurface); if (_glfw.wl.registry) wl_registry_destroy(_glfw.wl.registry); if (_glfw.wl.display) wl_display_flush(_glfw.wl.display); if (_glfw.wl.display) wl_display_disconnect(_glfw.wl.display); }
void _glfwPlatformTerminate(void) { if (_glfw.win32.classAtom) { UnregisterClass(_GLFW_WNDCLASSNAME, GetModuleHandle(NULL)); _glfw.win32.classAtom = 0; } // Restore previous foreground lock timeout system setting SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, UIntToPtr(_glfw.win32.foregroundLockTimeout), SPIF_SENDCHANGE); free(_glfw.win32.clipboardString); _glfwTerminateJoysticks(); _glfwTerminateContextAPI(); terminateLibraries(); }
int _glfwPlatformTerminate( void ) { // Only the main thread is allowed to do this... // TODO // Close OpenGL window glfwCloseWindow(); // Terminate joysticks _glfwTerminateJoysticks(); // Kill timer _glfwTerminateTimer(); // Kill thread package _glfwTerminateThreads(); return GL_TRUE; }
int _glfwPlatformTerminate(void) { if (_glfwLibrary.X11.cursor) { XFreeCursor(_glfwLibrary.X11.display, _glfwLibrary.X11.cursor); _glfwLibrary.X11.cursor = (Cursor) 0; } _glfwTerminateGammaRamp(); _glfwTerminateJoysticks(); _glfwTerminateOpenGL(); terminateDisplay(); // Free clipboard memory if (_glfwLibrary.X11.selection.string) free(_glfwLibrary.X11.selection.string); return GL_TRUE; }
void _glfwPlatformTerminate(void) { // Restore the original gamma ramp if (_glfw.rampChanged) _glfwPlatformSetGammaRamp(&_glfw.originalRamp); if (_glfw.win32.classAtom) { UnregisterClass(_GLFW_WNDCLASSNAME, _glfw.win32.instance); _glfw.win32.classAtom = 0; } _glfwTerminateOpenGL(); _glfwTerminateJoysticks(); freeLibraries(); // Restore previous FOREGROUNDLOCKTIMEOUT system setting SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, UIntToPtr(_glfw.win32.foregroundLockTimeout), SPIF_SENDCHANGE); }