diff --git a/src/events/SDL_windowevents.c b/src/events/SDL_windowevents.c index 2e194781af..3fb1de1257 100644 --- a/src/events/SDL_windowevents.c +++ b/src/events/SDL_windowevents.c @@ -191,11 +191,11 @@ bool SDL_SendWindowEvent(SDL_Window *window, SDL_EventType windowevent, int data window->flags &= ~SDL_WINDOW_INPUT_FOCUS; break; case SDL_EVENT_WINDOW_DISPLAY_CHANGED: - if (data1 == 0 || (SDL_DisplayID)data1 == window->last_displayID) { + if (data1 == 0 || (SDL_DisplayID)data1 == window->displayID) { return false; } window->update_fullscreen_on_display_changed = true; - window->last_displayID = (SDL_DisplayID)data1; + window->displayID = (SDL_DisplayID)data1; break; case SDL_EVENT_WINDOW_OCCLUDED: if (window->flags & SDL_WINDOW_OCCLUDED) { diff --git a/src/video/SDL_sysvideo.h b/src/video/SDL_sysvideo.h index 1327d2812e..433eb72f15 100644 --- a/src/video/SDL_sysvideo.h +++ b/src/video/SDL_sysvideo.h @@ -60,7 +60,7 @@ struct SDL_Window bool external_graphics_context; bool fullscreen_exclusive; // The window is currently fullscreen exclusive SDL_DisplayID last_fullscreen_exclusive_display; // The last fullscreen_exclusive display - SDL_DisplayID last_displayID; + SDL_DisplayID displayID; SDL_DisplayID pending_displayID; /* Stored position and size for the window in the non-fullscreen state, diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index b2c88c58db..b7929ca974 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -1150,7 +1150,7 @@ void SDL_SetDisplayContentScale(SDL_VideoDisplay *display, float scale) // Check the windows on this display for (window = _this->windows; window; window = window->next) { - if (display->id == window->last_displayID) { + if (display->id == window->displayID) { SDL_CheckWindowDisplayScaleChanged(window); } } @@ -1800,7 +1800,7 @@ static void SDL_CheckWindowDisplayChanged(SDL_Window *window) SDL_DisplayID displayID = SDL_GetDisplayForWindowPosition(window); - if (displayID != window->last_displayID) { + if (displayID != window->displayID) { int i, display_index; // Sanity check our fullscreen windows @@ -1862,7 +1862,7 @@ static void SDL_CheckWindowDisplayScaleChanged(SDL_Window *window) display_scale = _this->GetWindowContentScale(_this, window); } else { const float pixel_density = SDL_GetWindowPixelDensity(window); - const float content_scale = SDL_GetDisplayContentScale(SDL_GetDisplayForWindowPosition(window)); + const float content_scale = SDL_GetDisplayContentScale(window->displayID); display_scale = pixel_density * content_scale; } @@ -2524,7 +2524,7 @@ SDL_Window *SDL_CreateWindowWithProperties(SDL_PropertiesID props) window->opacity = 1.0f; window->next = _this->windows; window->is_destroying = false; - window->last_displayID = SDL_GetDisplayForWindow(window); + window->displayID = SDL_GetDisplayForWindow(window); window->external_graphics_context = external_graphics_context; window->constrain_popup = SDL_GetBooleanProperty(props, SDL_PROP_WINDOW_CREATE_CONSTRAIN_POPUP_BOOLEAN, true); diff --git a/src/video/windows/SDL_windowsevents.c b/src/video/windows/SDL_windowsevents.c index 52d561a8e6..f4bf6381e4 100644 --- a/src/video/windows/SDL_windowsevents.c +++ b/src/video/windows/SDL_windowsevents.c @@ -1715,7 +1715,7 @@ LRESULT CALLBACK WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara case WM_WINDOWPOSCHANGED: { SDL_Window *win; - const SDL_DisplayID original_displayID = data->last_displayID; + const SDL_DisplayID original_displayID = data->window->displayID; const WINDOWPOS *windowpos = (WINDOWPOS *)lParam; bool iconic; bool zoomed; @@ -1790,9 +1790,7 @@ LRESULT CALLBACK WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara WIN_UpdateClipCursor(data->window); // Update the window display position - data->last_displayID = SDL_GetDisplayForWindow(data->window); - - if (data->last_displayID != original_displayID) { + if (data->window->displayID != original_displayID) { // Display changed, check ICC profile WIN_UpdateWindowICCProfile(data->window, true); } diff --git a/src/video/windows/SDL_windowswindow.c b/src/video/windows/SDL_windowswindow.c index a7b30f910a..a7c7059fd2 100644 --- a/src/video/windows/SDL_windowswindow.c +++ b/src/video/windows/SDL_windowswindow.c @@ -391,7 +391,6 @@ static bool SetupWindowData(SDL_VideoDevice *_this, SDL_Window *window, HWND hwn data->last_pointer_update = (LPARAM)-1; data->videodata = videodata; data->initializing = true; - data->last_displayID = window->last_displayID; data->hint_erase_background_mode = GetEraseBackgroundModeHint(); diff --git a/src/video/windows/SDL_windowswindow.h b/src/video/windows/SDL_windowswindow.h index 9ee8d748a5..9175990954 100644 --- a/src/video/windows/SDL_windowswindow.h +++ b/src/video/windows/SDL_windowswindow.h @@ -91,7 +91,6 @@ struct SDL_WindowData RECT cursor_ctrlock_rect; // this is Windows-specific, but probably does not need to be per-window bool mouse_tracked; bool destroy_parent_with_window; - SDL_DisplayID last_displayID; WCHAR *ICMFileName; SDL_WindowEraseBackgroundMode hint_erase_background_mode; bool taskbar_button_created; diff --git a/src/video/x11/SDL_x11window.c b/src/video/x11/SDL_x11window.c index 152cdc65b7..b78cca9080 100644 --- a/src/video/x11/SDL_x11window.c +++ b/src/video/x11/SDL_x11window.c @@ -742,7 +742,7 @@ bool X11_CreateWindow(SDL_VideoDevice *_this, SDL_Window *window, SDL_Properties } if (window->undefined_x && window->undefined_y && - window->last_displayID == SDL_GetPrimaryDisplay()) { + window->displayID == SDL_GetPrimaryDisplay()) { undefined_position = true; }