mirror of https://github.com/libsdl-org/SDL.git
Revert "win32: Use the size in the WINDOWPOS data while handling popup windows in the WM_WINDOWPOSCHANGED message"
This reverts commit 4f0a056b95.
This commit is contained in:
parent
2be89f0dd1
commit
643281d022
|
|
@ -1513,23 +1513,12 @@ LRESULT CALLBACK WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
|
|||
SDL_SendWindowEvent(data->window, SDL_EVENT_WINDOW_MOVED, x, y);
|
||||
}
|
||||
|
||||
// GetClientRect() returns the old size for popup windows for some reason.
|
||||
if (!SDL_WINDOW_IS_POPUP(data->window)) {
|
||||
// Moving the window from one display to another can change the size of the window (in the handling of SDL_EVENT_WINDOW_MOVED), so we need to re-query the bounds
|
||||
if (GetClientRect(hwnd, &rect) && !WIN_IsRectEmpty(&rect)) {
|
||||
w = rect.right;
|
||||
h = rect.bottom;
|
||||
// Moving the window from one display to another can change the size of the window (in the handling of SDL_EVENT_WINDOW_MOVED), so we need to re-query the bounds
|
||||
if (GetClientRect(hwnd, &rect) && !WIN_IsRectEmpty(&rect)) {
|
||||
w = rect.right;
|
||||
h = rect.bottom;
|
||||
|
||||
SDL_SendWindowEvent(data->window, SDL_EVENT_WINDOW_RESIZED, w, h);
|
||||
}
|
||||
} else {
|
||||
// Cache the data, as a resize event will call GetWindowSizeInPixels().
|
||||
w = data->last_popup_width = windowpos->cx;
|
||||
h = data->last_popup_height = windowpos->cy;
|
||||
|
||||
data->use_last_popup_size = true;
|
||||
SDL_SendWindowEvent(data->window, SDL_EVENT_WINDOW_RESIZED, w, h);
|
||||
data->use_last_popup_size = false;
|
||||
}
|
||||
|
||||
WIN_UpdateClipCursor(data->window);
|
||||
|
|
|
|||
|
|
@ -1053,11 +1053,7 @@ void WIN_GetWindowSizeInPixels(SDL_VideoDevice *_this, SDL_Window *window, int *
|
|||
HWND hwnd = data->hwnd;
|
||||
RECT rect;
|
||||
|
||||
// GetClientRect() returns the wrong size for popup windows if called while handling WM_WINDOWPOSCHANGED.
|
||||
if (data->use_last_popup_size) {
|
||||
*w = data->last_popup_width;
|
||||
*h = data->last_popup_height;
|
||||
} else if (GetClientRect(hwnd, &rect) && !WIN_IsRectEmpty(&rect)) {
|
||||
if (GetClientRect(hwnd, &rect) && !WIN_IsRectEmpty(&rect)) {
|
||||
*w = rect.right;
|
||||
*h = rect.bottom;
|
||||
} else if (window->last_pixel_w && window->last_pixel_h) {
|
||||
|
|
|
|||
|
|
@ -82,8 +82,6 @@ struct SDL_WindowData
|
|||
bool windowed_mode_was_maximized;
|
||||
bool in_window_deactivation;
|
||||
bool force_resizable;
|
||||
bool use_last_popup_size;
|
||||
int last_popup_width, last_popup_height;
|
||||
RECT cursor_clipped_rect; // last successfully committed clipping rect for this window
|
||||
RECT cursor_ctrlock_rect; // this is Windows-specific, but probably does not need to be per-window
|
||||
UINT windowed_mode_corner_rounding;
|
||||
|
|
|
|||
Loading…
Reference in New Issue