diff options
author | Paul Olav Tvete <paul.tvete@qt.io> | 2018-07-26 15:54:19 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@qt.io> | 2018-08-07 14:49:37 +0000 |
commit | 19001dc7c28c750d3dbf0086f5bcac2d11ad592f (patch) | |
tree | 37323610b5b664d2777fe562fea6a516c2902242 /src/compositor/compositor_api/qwaylandquickitem.cpp | |
parent | a6cfa65eae4d15c7ad5e7411d998332179080fbd (diff) |
Handle subsurfaces added before QWaylandQuickItem created
This makes gstreamer and Firefox work with QML-based compositors.
Task-number: QTBUG-69643
Change-Id: Iaddaeb7dc3493a262993eecc5ea0b6ce076b4044
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Diffstat (limited to 'src/compositor/compositor_api/qwaylandquickitem.cpp')
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickitem.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp index 09e8f7621..c61d84d6c 100644 --- a/src/compositor/compositor_api/qwaylandquickitem.cpp +++ b/src/compositor/compositor_api/qwaylandquickitem.cpp @@ -50,6 +50,7 @@ #include <QtWaylandCompositor/QWaylandDrag> #endif #include <QtWaylandCompositor/private/qwlclientbufferintegration_p.h> +#include <QtWaylandCompositor/private/qwaylandsurface_p.h> #include <QtGui/QKeyEvent> #include <QtGui/QGuiApplication> @@ -888,6 +889,10 @@ void QWaylandQuickItem::handleSurfaceChanged() QWaylandOutput *output = newSurface->compositor()->outputFor(window()); d->view->setOutput(output); } + for (auto subsurface : QWaylandSurfacePrivate::get(newSurface)->subsurfaceChildren) { + if (!subsurface.isNull()) + handleSubsurfaceAdded(subsurface.data()); + } updateSize(); } |