summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index 322eae7a06..01f6bef42e 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -2287,8 +2287,10 @@ void QWindowsWindow::setWindowState_sys(Qt::WindowStates newState)
if (!screen)
screen = QGuiApplication::primaryScreen();
// That area of the virtual desktop might not be covered by a screen anymore.
- if (!screen->geometry().intersects(m_savedFrameGeometry))
- m_savedFrameGeometry.moveTo(screen->geometry().topLeft());
+ if (const auto platformScreen = screen->handle()) {
+ if (!platformScreen->geometry().intersects(m_savedFrameGeometry))
+ m_savedFrameGeometry.moveTo(platformScreen->geometry().topLeft());
+ }
if (newState & Qt::WindowMinimized) {
setMinimizedGeometry(m_data.hwnd, m_savedFrameGeometry);