summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@nokia.com>2011-06-10 16:04:22 +0200
committerSamuel Rødal <samuel.rodal@nokia.com>2011-06-10 16:05:04 +0200
commit1ee96f093a5ecbbdc9030c769aa9b7c3f2642619 (patch)
treeb83e45575af5d19f3b927804501d5762ddcdcc14
parent11dc006328140e2dc91280ad350087b5cf970edb (diff)
Use XCB_GRAVITY_STATIC in XCB plugin for frame independent geometry.
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp2
-rw-r--r--src/widgets/kernel/qwidgetwindow_qpa.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index d635ee8bcb..3cf78d00c3 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -149,6 +149,7 @@ void QXcbWindow::create()
};
QRect rect = window()->geometry();
+ QPlatformWindow::setGeometry(rect);
xcb_window_t xcb_parent_id = m_screen->root();
if (parent())
@@ -993,6 +994,7 @@ void QXcbWindow::propagateSizeHints()
xcb_size_hints_set_position(&hints, true, rect.x(), rect.y());
xcb_size_hints_set_size(&hints, true, rect.width(), rect.height());
+ xcb_size_hints_set_win_gravity(&hints, XCB_GRAVITY_STATIC);
QWindow *win = window();
diff --git a/src/widgets/kernel/qwidgetwindow_qpa.cpp b/src/widgets/kernel/qwidgetwindow_qpa.cpp
index 27f9c9e2f8..dcd0618a55 100644
--- a/src/widgets/kernel/qwidgetwindow_qpa.cpp
+++ b/src/widgets/kernel/qwidgetwindow_qpa.cpp
@@ -273,7 +273,7 @@ void QWidgetWindow::updateGeometry()
QMargins margins = frameMargins();
- m_widget->data->crect = geometry().translated(-margins.left(), -margins.top());
+ m_widget->data->crect = geometry();
m_widget->d_func()->topData()->frameStrut.setCoords(margins.left(), margins.top(), margins.right(), margins.bottom());
}