Explorar o código

Update the focus in case we changed focus to a child window and then away from the application

In this case we'll get WM_KILLFOCUS when the child window is focused, but we'll retain focus on the top level window, but when we Alt-Tab away, we won't get another WM_KILLFOCUS or WM_NCACTIVATE, we get WM_ACTIVATE instead, so we need to check for focus updates in response to that as well.
Sam Lantinga %!s(int64=3) %!d(string=hai) anos
pai
achega
2248a54937
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      src/video/windows/SDL_windowsevents.c

+ 3 - 1
src/video/windows/SDL_windowsevents.c

@@ -685,13 +685,15 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
 
     case WM_ACTIVATE:
         {
+            /* Update the focus in case we changed focus to a child window and then away from the application */
+            WIN_UpdateFocus(data->window);
         }
         break;
 
     case WM_SETFOCUS:
     case WM_KILLFOCUS:
         {
-            /* Update the focus in case it's changing between windows in the same application */
+            /* Update the focus in case it's changing between top-level windows in the same application */
             WIN_UpdateFocus(data->window);
         }
         break;