Example #1
0
void _glfwPlatformTerminate(void)
{
    if (_glfw.win32.deviceNotificationHandle)
        UnregisterDeviceNotification(_glfw.win32.deviceNotificationHandle);

    if (_glfw.win32.helperWindowHandle)
        DestroyWindow(_glfw.win32.helperWindowHandle);

    _glfwUnregisterWindowClassWin32();

    // Restore previous foreground lock timeout system setting
    SystemParametersInfoW(SPI_SETFOREGROUNDLOCKTIMEOUT, 0,
                          UIntToPtr(_glfw.win32.foregroundLockTimeout),
                          SPIF_SENDCHANGE);

    free(_glfw.win32.clipboardString);
    free(_glfw.win32.rawInput);

    _glfwTerminateWGL();
    _glfwTerminateEGL();

    _glfwTerminateJoysticksWin32();

    freeLibraries();
}
void _glfwPlatformTerminate(void)
{
    _glfwUnregisterWindowClassWin32();

    // Restore previous foreground lock timeout system setting
    SystemParametersInfoW(SPI_SETFOREGROUNDLOCKTIMEOUT, 0,
                          UIntToPtr(_glfw.win32.foregroundLockTimeout),
                          SPIF_SENDCHANGE);

    free(_glfw.win32.clipboardString);

#if defined(_GLFW_WGL)
    _glfwTerminateWGL();
#elif defined(_GLFW_EGL)
    _glfwTerminateEGL();
#endif

    _glfwTerminateJoysticksWin32();
    _glfwTerminateThreadLocalStorageWin32();

    if (_glfw.win32.helperWindow)
        DestroyWindow(_glfw.win32.helperWindow);

    freeLibraries();
}
Example #3
0
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);
}