Don't apply creation window flags to external windows.

Whoever provided the window has already set it up the way they want it.

Fixes SDL removing iconified or maximized state when creating a window from an existing OS window.
This commit is contained in:
Sam Lantinga 2024-07-26 10:39:05 -07:00
parent 2137e6eed1
commit 21411c6418
1 changed files with 8 additions and 3 deletions

View File

@ -2146,9 +2146,14 @@ static void ApplyWindowFlags(SDL_Window *window, SDL_WindowFlags flags)
static void SDL_FinishWindowCreation(SDL_Window *window, SDL_WindowFlags flags)
{
PrepareDragAndDropSupport(window);
ApplyWindowFlags(window, flags);
if (!(flags & SDL_WINDOW_HIDDEN)) {
SDL_ShowWindow(window);
if (window->flags & SDL_WINDOW_EXTERNAL) {
// Whoever has created the window has already applied whatever flags are needed
} else {
ApplyWindowFlags(window, flags);
if (!(flags & SDL_WINDOW_HIDDEN)) {
SDL_ShowWindow(window);
}
}
}