Windows: Pass geometry in device-independent pixel when determining screen.

Fixes the emission of QWindow::screenChanged() when running with
QT_DEVICE_PIXEL_RATIO != 1.
QPlatformScreen::screenForGeometry() takes device-independent pixel.

Task-number: QTBUG-44070
Change-Id: I963ecf62743d06784d62bc2f467e09fe5474e57f
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
This commit is contained in:
Friedemann Kleint 2015-01-23 16:39:12 +01:00
parent eb92a531c0
commit 912f1ebaad

View File

@ -1432,7 +1432,7 @@ void QWindowsWindow::handleGeometryChange()
fireExpose(QRect(QPoint(0, 0), m_data.geometry.size()), true);
}
if (previousGeometry.topLeft() != m_data.geometry.topLeft()) {
QPlatformScreen *newScreen = screenForGeometry(m_data.geometry);
QPlatformScreen *newScreen = screenForGeometry(geometryDip);
if (newScreen != screen())
QWindowSystemInterface::handleWindowScreenChanged(window(), newScreen->screen());
}