summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland/qwaylandwindow.cpp
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@nokia.com>2012-03-27 13:16:36 +0200
committerSamuel Rødal <samuel.rodal@nokia.com>2012-03-28 21:45:20 +0200
commit37c36d4658ed9552b996b032d9fa1c6b84b14b5b (patch)
tree1f5d1a6e24b3ced284a44f8920ac7595ebcfd881 /src/plugins/platforms/wayland/qwaylandwindow.cpp
parent55bbecad0ec75bc942aa0ca73a228fc2d58c8105 (diff)
Prevented crash and missing animation for shm clients.
Do the delayed attach _before_ we call handleExposeEvent(), which might in turn lead to a damage being called before any buffer is attached. Change-Id: I55ef4f0de1b3ec201e727cebc52cfd891963b2b4 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandwindow.cpp')
-rw-r--r--src/plugins/platforms/wayland/qwaylandwindow.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandwindow.cpp b/src/plugins/platforms/wayland/qwaylandwindow.cpp
index 07a9c467f..0273cd294 100644
--- a/src/plugins/platforms/wayland/qwaylandwindow.cpp
+++ b/src/plugins/platforms/wayland/qwaylandwindow.cpp
@@ -122,14 +122,15 @@ void QWaylandWindow::setVisible(bool visible)
{
if (visible) {
+ if (mBuffer)
+ wl_surface_attach(mSurface, mBuffer->buffer(), 0, 0);
+
if (!mSentInitialResize) {
QWindowSystemInterface::handleSynchronousGeometryChange(window(), geometry());
mSentInitialResize = true;
}
+
QWindowSystemInterface::handleSynchronousExposeEvent(window(), QRect(QPoint(), geometry().size()));
- if (mBuffer) {
- wl_surface_attach(mSurface, mBuffer->buffer(),0,0);
- }
} else {
QWindowSystemInterface::handleSynchronousExposeEvent(window(), QRect(QPoint(), geometry().size()));
wl_surface_attach(mSurface, 0,0,0);