From d43776502b2fbcbfd0f81b89f77586df9b97cd0d Mon Sep 17 00:00:00 2001 From: Chi-kwan Chan Date: Sun, 26 Apr 2015 06:27:59 -0400 Subject: [PATCH] Properly restore previous context _glfwPlatformShowWindow(window) and _glfwPlatformUnhideWindow(window) implicitly make the context of window current on OS X Yosemite, which undoes _glfwPlatformMakeContextCurrent(previous). To properly restore the previous context, we call _glfwPlatformMakeContextCurrent(previous) just before glfwCreateWindow() returns. --- src/window.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/window.c b/src/window.c index 3acd48c48..c3e7a8180 100644 --- a/src/window.c +++ b/src/window.c @@ -238,9 +238,6 @@ GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height, glClear(GL_COLOR_BUFFER_BIT); _glfwPlatformSwapBuffers(window); - // Restore the previously current context (or NULL) - _glfwPlatformMakeContextCurrent(previous); - if (wndconfig.monitor) { int width, height; @@ -262,6 +259,9 @@ GLFWAPI GLFWwindow* glfwCreateWindow(int width, int height, } } + // Restore the previously current context (or NULL) + _glfwPlatformMakeContextCurrent(previous); + return (GLFWwindow*) window; }