summaryrefslogtreecommitdiffstats
path: root/src/compositor
diff options
context:
space:
mode:
authorPaul Olav Tvete <paul.tvete@qt.io>2016-06-30 12:14:14 +0200
committerPaul Olav Tvete <paul.tvete@qt.io>2016-07-12 07:45:47 +0000
commit887f64448e49aa5539ad3cc23a2bac4e8c63648d (patch)
tree00a0a45465a832086faa23c2125a50a916d3596b /src/compositor
parent48e241740974ca1b8ba7d654958c423ca9ec9e0e (diff)
Compositor: make the extensions property list optional
Extensions will now automatically add themselves to their parent if they are not inside an extensions [ ... ] array. Change-Id: I26c7f7c2ee023595eb4cd2496dd56e212f05329c Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jan Arne Petersen <jan.petersen@kdab.com> Reviewed-by: Giulio Camuffo <giulio.camuffo@kdab.com>
Diffstat (limited to 'src/compositor')
-rw-r--r--src/compositor/global/qwaylandcompositorextension.cpp6
-rw-r--r--src/compositor/global/qwaylandcompositorextension.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/compositor/global/qwaylandcompositorextension.cpp b/src/compositor/global/qwaylandcompositorextension.cpp
index ddfd25837..6c7577ffc 100644
--- a/src/compositor/global/qwaylandcompositorextension.cpp
+++ b/src/compositor/global/qwaylandcompositorextension.cpp
@@ -96,6 +96,12 @@ void QWaylandCompositorExtension::initialize()
return;
}
+ if (!d->extension_container && parent()) {
+ QWaylandObject *parentObj = qobject_cast<QWaylandObject*>(parent());
+ if (parentObj)
+ setExtensionContainer(parentObj);
+ }
+
if (!d->extension_container) {
qWarning() << "QWaylandCompositorExtension:" << extensionInterface()->name << "requests to initialize with no extension container set";
return;
diff --git a/src/compositor/global/qwaylandcompositorextension.h b/src/compositor/global/qwaylandcompositorextension.h
index 0ba54c882..d666b4f2a 100644
--- a/src/compositor/global/qwaylandcompositorextension.h
+++ b/src/compositor/global/qwaylandcompositorextension.h
@@ -52,6 +52,7 @@ class QWaylandCompositorExtensionPrivate;
class Q_WAYLAND_COMPOSITOR_EXPORT QWaylandObject : public QObject
{
+ Q_OBJECT
public:
virtual ~QWaylandObject();