summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp
diff options
context:
space:
mode:
authorAndy Nichols <andy.nichols@digia.com>2013-01-09 15:51:09 +0100
committerJørgen Lind <jorgen.lind@gmail.com>2013-01-10 08:57:35 +0100
commitd9e1acd6f6f037af766e1c043353f055af8ec635 (patch)
treed8b52daf903f64ca80903019e0dc7d9ad6cee53a /src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp
parent21b3bdd09fe0346fec0ad38a1b22a7d853093c05 (diff)
Fix issue where hidden menus were never shown again
When we tried to make a QMenu visible that had already been visible before, we were getting stuck waiting for a frame callback that we never requested. We now check for this case in QWaylandShmBackingStore::beginPaint Task-number: QTBUG-29021 Change-Id: I5334aa677ba36d801e9a96938cc5924856dcdcc3 Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
Diffstat (limited to 'src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp')
-rw-r--r--src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp b/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp
index cb709736d..d41bfe156 100644
--- a/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp
+++ b/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp
@@ -165,7 +165,7 @@ void QWaylandShmBackingStore::beginPaint(const QRegion &)
mPainting = true;
ensureSize();
- if (waylandWindow()->attached() && mBackBuffer == waylandWindow()->attached()) {
+ if (waylandWindow()->attached() && mBackBuffer == waylandWindow()->attached() && mFrameCallback) {
QWaylandShmWindow *waylandWindow = static_cast<QWaylandShmWindow *>(window()->handle());
Q_ASSERT(waylandWindow->windowType() == QWaylandWindow::Shm);
waylandWindow->waitForFrameSync();