summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Klokkhammer Helsing <johan.helsing@qt.io>2016-06-23 11:53:52 +0200
committerJohan Helsing <johan.helsing@qt.io>2016-10-26 14:17:44 +0000
commit9d3462dff33b771b71ef16d797ee01ea10afebbe (patch)
tree4e45efaecb9547d59431149c2da375b7885fa9d3
parenteb1d6f4c8673b8f9c34748c8764d92e5da31971c (diff)
Client: Call parent requestUpdate after changing subsurface position
Calling setPosition on a child window would not send the appropriate commit request after the wl_subsurface.set_position request. Task-number: QTBUG-52118 Change-Id: I792016ce7e0a5a2efd3a32a98727b43ee0275b0e Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
-rw-r--r--src/client/qwaylandwindow.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
index e504de377..4c00110bc 100644
--- a/src/client/qwaylandwindow.cpp
+++ b/src/client/qwaylandwindow.cpp
@@ -262,6 +262,7 @@ void QWaylandWindow::setGeometry_helper(const QRect &rect)
if (mSubSurfaceWindow) {
QMargins m = QPlatformWindow::parent()->frameMargins();
mSubSurfaceWindow->set_position(rect.x() + m.left(), rect.y() + m.top());
+ mSubSurfaceWindow->parent()->window()->requestUpdate();
} else if (shellSurface() && window()->transientParent() && window()->type() != Qt::Popup)
shellSurface()->updateTransientParent(window()->transientParent());
}
@@ -638,6 +639,8 @@ bool QWaylandWindow::createDecoration()
QMargins m = frameMargins();
subsurf->set_position(pos.x() + m.left(), pos.y() + m.top());
}
+ if (!mChildren.isEmpty())
+ window()->requestUpdate();
}
return mWindowDecoration;