Commit 6a0ef0cdbcd0d8cbc2dbbcd534a137dd5f495a81

Sam Lantinga 2018-04-09T10:37:31

SDL: On Windows, have SDL_ShowWindow() not activate the window if the window has the WS_EX_NOACTIVATE window flag.

diff --git a/src/video/windows/SDL_windowswindow.c b/src/video/windows/SDL_windowswindow.c
index b082443..a3ac938 100644
--- a/src/video/windows/SDL_windowswindow.c
+++ b/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