Fixed bug where an SDL window that was activated while hidden could never be shown.
Test code: { SDL_Window *win = SDL_CreateWindow( "Dummy", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 128, 128, SDL_WINDOW_HIDDEN ); SDL_SysWMinfo info; SDL_VERSION( &info.version ); SDL_GetWindowWMInfo( win, &info ); SetActiveWindow( info.info.win.window ); { DWORD then = SDL_GetTicks(); while ( ( SDL_GetTicks() - then ) < 3000 ) { SDL_Event evt; SDL_PollEvent( &evt ); } SDL_ShowWindow( win ); then = SDL_GetTicks(); while ( ( SDL_GetTicks() - then ) < 3000 ) { SDL_Event evt; SDL_PollEvent( &evt ); } } SDL_DestroyWindow( win ); }
parent
e14278ef6f
commit
4d78a99544
|
@ -421,6 +421,11 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
POINT cursorPos;
|
POINT cursorPos;
|
||||||
BOOL minimized;
|
BOOL minimized;
|
||||||
|
|
||||||
|
/* Don't mark the window as shown if it's activated before being shown */
|
||||||
|
if (!IsWindowVisible(hwnd)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
minimized = HIWORD(wParam);
|
minimized = HIWORD(wParam);
|
||||||
if (!minimized && (LOWORD(wParam) != WA_INACTIVE)) {
|
if (!minimized && (LOWORD(wParam) != WA_INACTIVE)) {
|
||||||
if (LOWORD(wParam) == WA_CLICKACTIVE) {
|
if (LOWORD(wParam) == WA_CLICKACTIVE) {
|
||||||
|
|
Loading…
Reference in New Issue