From a2bd91c5e96146fb2211d21e06071a1c21cf030c Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 6 Jul 2012 14:49:34 +0200 Subject: QWindowsWindow: fix restoring from minimized to fullscreen This fixes the state transition FullScreen -> Minimized -> FullScreen. Task-number: QTBUG-26420 Change-Id: I555c4f332e796b465149e592c2583d615b37c4ec Reviewed-by: Friedemann Kleint --- src/plugins/platforms/windows/qwindowswindow.cpp | 9 +++++++-- src/plugins/platforms/windows/qwindowswindow.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index a2a7950fad..0593778635 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -980,7 +980,7 @@ void QWindowsWindow::handleResized(int wParam) break; case SIZE_RESTORED: if (m_windowState != Qt::WindowNoState) - handleWindowStateChange(Qt::WindowNoState); + handleWindowStateChange(isFullScreen_sys() ? Qt::WindowFullScreen : Qt::WindowNoState); handleGeometryChange(); break; } @@ -1170,7 +1170,7 @@ Qt::WindowState QWindowsWindow::windowState_sys() const return Qt::WindowMinimized; if (IsZoomed(m_data.hwnd)) return Qt::WindowMaximized; - if (geometry_sys() == window()->screen()->geometry()) + if (isFullScreen_sys()) return Qt::WindowFullScreen; return Qt::WindowNoState; } @@ -1183,6 +1183,11 @@ Qt::WindowStates QWindowsWindow::windowStates_sys() const return result; } +bool QWindowsWindow::isFullScreen_sys() const +{ + return geometry_sys() == window()->screen()->geometry(); +} + /*! \brief Change the window state. diff --git a/src/plugins/platforms/windows/qwindowswindow.h b/src/plugins/platforms/windows/qwindowswindow.h index 475982aba4..ff99d5c1ae 100644 --- a/src/plugins/platforms/windows/qwindowswindow.h +++ b/src/plugins/platforms/windows/qwindowswindow.h @@ -246,6 +246,7 @@ private: inline QRect frameGeometry_sys() const; inline QRect geometry_sys() const; inline WindowData setWindowFlags_sys(Qt::WindowFlags wt, unsigned flags = 0) const; + inline bool isFullScreen_sys() const; inline void setWindowState_sys(Qt::WindowState newState); inline void setParent_sys(const QPlatformWindow *parent) const; inline void setMouseGrabEnabled_sys(bool grab); -- cgit v1.2.3