diff options
author | Liang Qi <liang.qi@qt.io> | 2016-12-12 09:49:15 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-12-12 09:49:16 +0100 |
commit | 9fd54bac3075eb74413776657464027a277d43cf (patch) | |
tree | ae74789b061df42fef2fd9d97446cd0b34a9a083 /src/compositor | |
parent | 2a47c83674a8e19b287cc731cbe814ca411f269f (diff) | |
parent | 391c71b4488d69f3a0b16171b01f569fbc9ec07b (diff) |
Merge remote-tracking branch 'origin/5.8' into dev
Change-Id: Idd91b55bc2b1e3506d9385b3352aeda06de6d4bc
Diffstat (limited to 'src/compositor')
4 files changed, 7 insertions, 4 deletions
diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp index 4c5bf0757..7e44dfae7 100644 --- a/src/compositor/compositor_api/qwaylandquickitem.cpp +++ b/src/compositor/compositor_api/qwaylandquickitem.cpp @@ -1125,9 +1125,12 @@ void QWaylandQuickItem::updateInputMethod(Qt::InputMethodQueries queries) QSGNode *QWaylandQuickItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) { Q_D(QWaylandQuickItem); - const bool hasContent = surface() && surface()->hasContent() && d->view->currentBuffer().hasContent(); + const bool bufferHasContent = d->view->currentBuffer().hasContent(); - if (!hasContent || !d->paintEnabled) { + if (d->view->isBufferLocked() && !bufferHasContent && d->paintEnabled) + return oldNode; + + if (!bufferHasContent || !d->paintEnabled) { delete oldNode; return 0; } diff --git a/src/compositor/doc/qtwaylandcompositor.qdocconf b/src/compositor/doc/qtwaylandcompositor.qdocconf index 3954cb22f..73331aa09 100644 --- a/src/compositor/doc/qtwaylandcompositor.qdocconf +++ b/src/compositor/doc/qtwaylandcompositor.qdocconf @@ -44,4 +44,3 @@ Cpp.ignoredirectives += Q_DECLARE_LOGGING_CATEGORY navigation.landingpage = "Qt Wayland Compositor" navigation.qmltypespage = "Qt Wayland Compositor QML Types" navigation.cppclassespage = "Qt Wayland Compositor C++ Classes" -navigation.homepage = "Qt Documentation (Technology Preview)" diff --git a/src/compositor/extensions/qwaylandwlshellintegration.cpp b/src/compositor/extensions/qwaylandwlshellintegration.cpp index 761a9022e..abf5b627c 100644 --- a/src/compositor/extensions/qwaylandwlshellintegration.cpp +++ b/src/compositor/extensions/qwaylandwlshellintegration.cpp @@ -201,7 +201,7 @@ void WlShellIntegration::handlePopupClosed() void WlShellIntegration::handlePopupRemoved() { - if (m_shellSurface->shell()->mappedPopups().isEmpty()) + if (!m_shellSurface || m_shellSurface->shell()->mappedPopups().isEmpty()) QWaylandQuickShellEventFilter::cancelFilter(); isPopup = false; } diff --git a/src/compositor/extensions/qwaylandxdgshellv5.cpp b/src/compositor/extensions/qwaylandxdgshellv5.cpp index fd23865cf..0a86b9f6f 100644 --- a/src/compositor/extensions/qwaylandxdgshellv5.cpp +++ b/src/compositor/extensions/qwaylandxdgshellv5.cpp @@ -222,6 +222,7 @@ void QWaylandXdgShellV5Private::xdg_shell_pong(Resource *resource, uint32_t seri QWaylandXdgSurfaceV5Private::QWaylandXdgSurfaceV5Private() : QWaylandCompositorExtensionPrivate() , xdg_surface() + , m_xdgShell(nullptr) , m_surface(nullptr) , m_parentSurface(nullptr) , m_windowType(UnknownWindowType) |