summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/qwindowswindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/windows/qwindowswindow.cpp')
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp28
1 files changed, 3 insertions, 25 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index 7d0b00b312..51497b3300 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -1376,25 +1376,6 @@ void QWindowsWindow::handleResized(int wParam)
}
}
-// Return the effective screen for full screen mode in a virtual desktop.
-static QScreen *effectiveScreen(const QWindow *w)
-{
- QRect geometry = w->geometry();
- if (!w->isTopLevel())
- geometry.moveTopLeft(w->mapToGlobal(geometry.topLeft()));
-
- QScreen *screen = w->screen();
- if (!screen->geometry().intersects(geometry)) {
- foreach (QScreen *sibling, screen->virtualSiblings()) {
- if (sibling->geometry().intersects(geometry)) {
- screen = sibling;
- break;
- }
- }
- }
- return screen;
-}
-
void QWindowsWindow::handleGeometryChange()
{
//Prevent recursive resizes for Windows CE
@@ -1411,12 +1392,9 @@ void QWindowsWindow::handleGeometryChange()
fireExpose(QRegion(m_data.geometry), true);
}
if (previousGeometry.topLeft() != m_data.geometry.topLeft()) {
- QWindow *w = window();
- if (w->isTopLevel()) {
- QScreen *newScreen = effectiveScreen(w);
- if (newScreen != w->screen())
- QWindowSystemInterface::handleWindowScreenChanged(w, newScreen);
- }
+ QPlatformScreen *newScreen = screenForGeometry(m_data.geometry);
+ if (newScreen != screen())
+ QWindowSystemInterface::handleWindowScreenChanged(window(), newScreen->screen());
}
if (testFlag(SynchronousGeometryChangeEvent))
QWindowSystemInterface::flushWindowSystemEvents();