Browse Source

SDL:

On Windows, have SDL_ShowWindow() not activate the window if the window has the WS_EX_NOACTIVATE window flag.
Sam Lantinga 7 years ago
parent
commit
6a0ef0cdbc
1 changed files with 11 additions and 2 deletions
  1. 11 2
      src/video/windows/SDL_windowswindow.c

+ 11 - 2
src/video/windows/SDL_windowswindow.c

@@ -546,8 +546,17 @@ WIN_GetWindowBordersSize(_THIS, SDL_Window * window, int *top, int *left, int *b
 void
 WIN_ShowWindow(_THIS, SDL_Window * window)
 {
-    HWND hwnd = ((SDL_WindowData *) window->driverdata)->hwnd;
-    ShowWindow(hwnd, SW_SHOW);
+	DWORD style;
+	HWND hwnd;
+	int nCmdShow;
+	
+	hwnd = ( (SDL_WindowData *)window->driverdata )->hwnd;
+	nCmdShow = SW_SHOW;
+	style = GetWindowLong(hwnd, GWL_EXSTYLE);
+	if ( style & WS_EX_NOACTIVATE )
+		nCmdShow = SW_SHOWNOACTIVATE;
+	
+    ShowWindow(hwnd, nCmdShow );
 }
 
 void