浏览代码

Fixed iconify callback not triggered by Alt+Tab.

Camilla Berglund 11 年之前
父节点
当前提交
56e600d7a1
共有 2 个文件被更改,包括 15 次插入0 次删除
  1. 2 0
      README.md
  2. 13 0
      src/win32_window.c

+ 2 - 0
README.md

@@ -47,6 +47,8 @@ guide in the GLFW documentation.
                    unfocused windows
  - [Win32] Bugfix: Cursor was not properly re-centered over odd-sized windows
  - [Win32] Bugfix: Negative window positions were reported incorrectly
+ - [Win32] Bugfix: The iconify callback was not triggered when switching away
+                   from a full screen window using Alt+Tab
  - [Cocoa] Added dependency on CoreVideo framework for refresh rate retrieval
  - [Cocoa] Enabled Lion full screen for resizable windowed mode windows
  - [Cocoa] Moved to Cocoa API for application transformation and activation

+ 13 - 0
src/win32_window.c

@@ -442,6 +442,19 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg,
             return 0;
         }
 
+        case WM_ACTIVATEAPP:
+        {
+            if (!wParam && IsIconic(hWnd))
+            {
+                // This is a workaround for full screen windows losing focus
+                // through Alt+Tab leading to windows being told they're
+                // unfocused and restored and then never told they're iconified
+                _glfwInputWindowIconify(window, GL_TRUE);
+            }
+
+            return 0;
+        }
+
         case WM_SHOWWINDOW:
         {
             _glfwInputWindowVisibility(window, wParam ? GL_TRUE : GL_FALSE);