summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@nokia.com>2012-07-06 14:49:34 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-09 10:50:27 +0200
commita2bd91c5e96146fb2211d21e06071a1c21cf030c (patch)
treecae925e114d88d0f413e2ac6e9d9518cda7a162d /src/plugins/platforms
parent84e84b507cd6c1bf40cdc52429e38323dc1a4205 (diff)
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 <Friedemann.Kleint@nokia.com>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp9
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.h1
2 files changed, 8 insertions, 2 deletions
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);