summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb/qxcbwindow.cpp
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@nokia.com>2011-09-22 09:00:55 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-23 11:30:47 +0200
commit078d7018199eee1cb2850f077f12aa95bf328e44 (patch)
treebbd601ec072c4698ea3b1dc57f0c06f84a336645 /src/plugins/platforms/xcb/qxcbwindow.cpp
parent37f338e5edc6d7b70b5a4eaf63326f2a22d7bfbd (diff)
Only set frame margins as dirty when we get a configure notify event.
It's dangerous to set them as dirty in anticipation of a configure notify event, as if frameMargins() is called before the event is received the computed values are bogus. Change-Id: Ib6db975fba5fcb13a2511e4716cbb5ca79265c34 Reviewed-on: http://codereview.qt-project.org/5365 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbwindow.cpp')
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index 5458674ae2..56c5c4836f 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -139,7 +139,6 @@ void QXcbWindow::create()
destroy();
m_windowState = Qt::WindowNoState;
- m_dirtyFrameMargins = true;
Qt::WindowType type = window()->windowType();
@@ -457,8 +456,6 @@ void QXcbWindow::show()
free(error);
}
- m_dirtyFrameMargins = true;
-
if (window()->windowState() & Qt::WindowMinimized)
xcb_wm_hints_set_iconic(&hints);
else
@@ -774,8 +771,6 @@ Qt::WindowState QXcbWindow::setWindowState(Qt::WindowState state)
if (state == m_windowState)
return state;
- m_dirtyFrameMargins = true;
-
// unset old state
switch (m_windowState) {
case Qt::WindowMinimized:
@@ -1175,6 +1170,8 @@ void QXcbWindow::handleConfigureNotifyEvent(const xcb_configure_notify_event_t *
QPlatformWindow::setGeometry(rect);
QWindowSystemInterface::handleGeometryChange(window(), rect);
+ m_dirtyFrameMargins = true;
+
#if XCB_USE_DRI2
if (m_context)
static_cast<QDri2Context *>(m_context)->resize(rect.size());