Removed glfwCopyContext to map better against EGL.
diff --git a/include/GL/glfw3.h b/include/GL/glfw3.h
index f20fd1c..525ba47 100644
--- a/include/GL/glfw3.h
+++ b/include/GL/glfw3.h
@@ -1548,13 +1548,6 @@
*/
GLFWAPI GLFWglproc glfwGetProcAddress(const char* procname);
-/*! @brief Copies the desired parts of the state of one window's context to another.
- * @ingroup opengl
- *
- * @remarks This function may be called from secondary threads.
- */
-GLFWAPI void glfwCopyContext(GLFWwindow src, GLFWwindow dst, unsigned long mask);
-
/*************************************************************************
* Global definition cleanup
diff --git a/readme.html b/readme.html
index c2d18be..81100df 100644
--- a/readme.html
+++ b/readme.html
@@ -279,7 +279,6 @@
<li>Added <code>glfwSetWindowIconifyCallback</code> function and <code>GLFWwindowiconifyfun</code> type for receiving window iconification events</li>
<li>Added <code>glfwGetClipboardString</code> and <code>glfwSetClipboardString</code> functions for interacting with the system clipboard</li>
<li>Added <code>glfwGetCurrentContext</code> function for retrieving the window whose OpenGL context is current</li>
- <li>Added <code>glfwCopyContext</code> function for copying OpenGL state categories between contexts</li>
<li>Added <code>GLFW_CLIENT_API</code>, <code>GLFW_OPENGL_API</code> and <code>GLFW_OPENGL_ES_API</code> for selecting client API</li>
<li>Added <code>GLFW_OPENGL_ROBUSTNESS</code> window hint and associated strategy tokens for <code>GL_ARB_robustness</code> support</li>
<li>Added <code>GLFW_OPENGL_REVISION</code> window parameter to make up for removal of <code>glfwGetGLVersion</code></li>
diff --git a/src/cocoa_opengl.m b/src/cocoa_opengl.m
index 4d4c429..ed024d6 100644
--- a/src/cocoa_opengl.m
+++ b/src/cocoa_opengl.m
@@ -147,13 +147,3 @@
return symbol;
}
-
-//========================================================================
-// Copies the specified OpenGL state categories from src to dst
-//========================================================================
-
-void _glfwPlatformCopyContext(_GLFWwindow* src, _GLFWwindow* dst, unsigned long mask)
-{
- [dst->NSGL.context copyAttributesFromContext:src->NSGL.context withMask:mask];
-}
-
diff --git a/src/internal.h b/src/internal.h
index c43ad37..c5a40af 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -309,7 +309,6 @@
void _glfwPlatformRefreshWindowParams(_GLFWwindow* window);
int _glfwPlatformExtensionSupported(const char* extension);
GLFWglproc _glfwPlatformGetProcAddress(const char* procname);
-void _glfwPlatformCopyContext(_GLFWwindow* src, _GLFWwindow* dst, unsigned long mask);
//========================================================================
diff --git a/src/opengl.c b/src/opengl.c
index 482db6a..538bcdf 100644
--- a/src/opengl.c
+++ b/src/opengl.c
@@ -682,32 +682,3 @@
return _glfwPlatformGetProcAddress(procname);
}
-
-//========================================================================
-// Copies the specified OpenGL state categories from src to dst
-//========================================================================
-
-GLFWAPI void glfwCopyContext(GLFWwindow hsrc, GLFWwindow hdst, unsigned long mask)
-{
- _GLFWwindow* src;
- _GLFWwindow* dst;
-
- if (!_glfwInitialized)
- {
- _glfwSetError(GLFW_NOT_INITIALIZED, NULL);
- return;
- }
-
- src = (_GLFWwindow*) hsrc;
- dst = (_GLFWwindow*) hdst;
-
- if (_glfwPlatformGetCurrentContext() == dst)
- {
- _glfwSetError(GLFW_INVALID_VALUE,
- "glfwCopyContext: Cannot copy OpenGL state to a current context");
- return;
- }
-
- _glfwPlatformCopyContext(src, dst, mask);
-}
-
diff --git a/src/win32_opengl.c b/src/win32_opengl.c
index acbf09f..7689f9c 100644
--- a/src/win32_opengl.c
+++ b/src/win32_opengl.c
@@ -637,17 +637,3 @@
return (GLFWglproc) wglGetProcAddress(procname);
}
-
-//========================================================================
-// Copies the specified OpenGL state categories from src to dst
-//========================================================================
-
-void _glfwPlatformCopyContext(_GLFWwindow* src, _GLFWwindow* dst, unsigned long mask)
-{
- if (!wglCopyContext(src->WGL.context, dst->WGL.context, mask))
- {
- _glfwSetError(GLFW_PLATFORM_ERROR,
- "WGL: Failed to copy OpenGL context attributes");
- }
-}
-
diff --git a/src/x11_opengl.c b/src/x11_opengl.c
index ccd59d8..790ad06 100644
--- a/src/x11_opengl.c
+++ b/src/x11_opengl.c
@@ -732,16 +732,3 @@
return _glfw_glXGetProcAddress((const GLubyte*) procname);
}
-
-//========================================================================
-// Copies the specified OpenGL state categories from src to dst
-//========================================================================
-
-void _glfwPlatformCopyContext(_GLFWwindow* src, _GLFWwindow* dst, unsigned long mask)
-{
- glXCopyContext(_glfwLibrary.X11.display,
- src->GLX.context,
- dst->GLX.context,
- mask);
-}
-
diff --git a/tests/sharing.c b/tests/sharing.c
index 74e1147..0042a85 100644
--- a/tests/sharing.c
+++ b/tests/sharing.c
@@ -158,10 +158,13 @@
exit(EXIT_FAILURE);
}
- // Set drawing color for the first context and copy it to the second
+ // Set drawing color for both contexts
glfwMakeContextCurrent(windows[0]);
glColor3f(0.6f, 0.f, 0.6f);
- glfwCopyContext(windows[0], windows[1], GL_CURRENT_BIT);
+ glfwMakeContextCurrent(windows[1]);
+ glColor3f(0.6f, 0.6f, 0.f);
+
+ glfwMakeContextCurrent(windows[0]);
while (!closed)
{