Added glfwGetCurrentWindow.
diff --git a/include/GL/glfw3.h b/include/GL/glfw3.h
index c4a6ea4..cc1f01b 100644
--- a/include/GL/glfw3.h
+++ b/include/GL/glfw3.h
@@ -417,6 +417,7 @@
 GLFWAPI void glfwOpenWindowHint(int target, int hint);
 GLFWAPI void glfwMakeWindowCurrent(GLFWwindow window);
 GLFWAPI int  glfwIsWindow(GLFWwindow window);
+GLFWAPI GLFWwindow glfwGetCurrentWindow(void);
 GLFWAPI void glfwCloseWindow(GLFWwindow window);
 GLFWAPI void glfwSetWindowTitle(GLFWwindow, const char* title);
 GLFWAPI void glfwGetWindowSize(GLFWwindow, int* width, int* height);
diff --git a/readme.html b/readme.html
index fb08e38..a11b614 100644
--- a/readme.html
+++ b/readme.html
@@ -270,6 +270,7 @@
   <li>Added <code>glfwGetWindowPos</code> function for querying the position of the specified window</li>
   <li>Added <code>glfwSetWindowFocusCallback</code> function and <code>GLFWwindowfocusfun</code> type for receiving window focus events</li>
   <li>Added <code>glfwSetWindowIconifyCallback</code> function and <code>GLFWwindowiconifyfun</code> type for receiving window iconification events</li>
+  <li>Added <code>glfwGetCurrentWindow</code> function for retrieving the window whose OpenGL context is current</li>
   <li>Added <code>windows</code> simple multi-window test program</li>
   <li>Added <code>sharing</code> simple OpenGL object sharing test program</li>
   <li>Added a parameter to <code>glfwOpenWindow</code> for specifying a context the new window's context will share objects with</li>
diff --git a/src/window.c b/src/window.c
index 0129fad..4843d24 100644
--- a/src/window.c
+++ b/src/window.c
@@ -640,6 +640,22 @@
 
 
 //========================================================================
+// Returns GL_TRUE if the specified window handle is an actual window
+//========================================================================
+
+GLFWAPI GLFWwindow glfwGetCurrentWindow(void)
+{
+    if (!_glfwInitialized)
+    {
+        _glfwSetError(GLFW_NOT_INITIALIZED);
+        return GL_FALSE;
+    }
+
+    return _glfwLibrary.currentWindow;
+}
+
+
+//========================================================================
 // Set hints for opening the window
 //========================================================================
 
diff --git a/tests/sharing.c b/tests/sharing.c
index 0c6f598..d2f47db 100644
--- a/tests/sharing.c
+++ b/tests/sharing.c
@@ -72,6 +72,11 @@
 
 static void draw_quad(GLuint texture)
 {
+    int width, height;
+    glfwGetWindowSize(glfwGetCurrentWindow(), &width, &height);
+
+    glViewport(0, 0, width, height);
+
     glMatrixMode(GL_PROJECTION);
     glLoadIdentity();
     gluOrtho2D(0.f, 1.f, 0.f, 1.f);