mirror of
https://github.com/Ryujinx/SDL.git
synced 2025-11-06 16:54:54 +00:00
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 );
}
This commit is contained in:
parent
e14278ef6f
commit
4d78a99544
|
|
@ -421,6 +421,11 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|||
POINT cursorPos;
|
||||
BOOL minimized;
|
||||
|
||||
/* Don't mark the window as shown if it's activated before being shown */
|
||||
if (!IsWindowVisible(hwnd)) {
|
||||
break;
|
||||
}
|
||||
|
||||
minimized = HIWORD(wParam);
|
||||
if (!minimized && (LOWORD(wParam) != WA_INACTIVE)) {
|
||||
if (LOWORD(wParam) == WA_CLICKACTIVE) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue