summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Martin <mart@kde.org>2014-10-14 16:55:17 +0200
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2014-11-05 10:45:29 +0100
commit47ec22a50975d6f616043fc12424ae1e12e584bd (patch)
tree45ddcd3bf4c6a817f0b1ab92a3f1ffe93cf18c91
parenta3cb057c3d5c9ed2c12fb7542065c3d667be38b7 (diff)
Allow panels outside of availableGeometry
Panels windows are usually outside QScreen::availableGeometry, because they will usually set extended struts to reserve the screen area for themselves, but their own screen() must remain the one in which they are. This cause one downstream behavior to KDE https://bugs.kde.org/show_bug.cgi?id=339846 in which a panel got by mistake few pixels on another screen, and was immediately reassigned to that screen, because its geometry was intersecting the new screen availableGeometry() but not the geometry of its own screen, because itself reserved its own geometry away from availableGeometry() Change-Id: If6c9defdef62732473687dd336dbcec582bd0ea2 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index 586068d8d9..a99a5cfab5 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -1687,9 +1687,9 @@ void QXcbWindow::handleConfigureNotifyEvent(const xcb_configure_notify_event_t *
QPlatformWindow::setGeometry(rect);
QWindowSystemInterface::handleGeometryChange(window(), rect);
- if (!m_screen->availableGeometry().intersects(rect)) {
+ if (!m_screen->geometry().intersects(rect)) {
Q_FOREACH (QPlatformScreen* screen, m_screen->virtualSiblings()) {
- if (screen->availableGeometry().intersects(rect)) {
+ if (screen->geometry().intersects(rect)) {
m_screen = static_cast<QXcbScreen*>(screen);
QWindowSystemInterface::handleWindowScreenChanged(window(), m_screen->QPlatformScreen::screen());
break;