Don't update hidden child windows, their relative position doesn't change

This improves performance when moving a top level window that has many hidden child windows
This commit is contained in:
Sam Lantinga
2023-03-16 11:23:46 -07:00
parent e6fe7273a5
commit 66eff69d2b
4 changed files with 18 additions and 2 deletions

View File

@@ -884,6 +884,11 @@ void WIN_ShowWindow(_THIS, SDL_Window *window)
HWND hwnd;
int nCmdShow;
if (window->parent) {
/* Update our position in case our parent moved while we were hidden */
WIN_SetWindowPositionInternal(window, SWP_NOCOPYBITS | SWP_NOACTIVATE);
}
hwnd = window->driverdata->hwnd;
nCmdShow = SDL_GetHintBoolean(SDL_HINT_WINDOW_NO_ACTIVATION_WHEN_SHOWN, SDL_FALSE) ? SW_SHOWNA : SW_SHOW;
style = GetWindowLong(hwnd, GWL_EXSTYLE);