summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/compositor/global/qwaylandcompositorextension.cpp3
-rw-r--r--src/compositor/global/qwaylandquickextension.h2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/compositor/global/qwaylandcompositorextension.cpp b/src/compositor/global/qwaylandcompositorextension.cpp
index ee117bbae..e50df48bd 100644
--- a/src/compositor/global/qwaylandcompositorextension.cpp
+++ b/src/compositor/global/qwaylandcompositorextension.cpp
@@ -124,7 +124,8 @@ bool QWaylandCompositorExtension::event(QEvent *event)
{
switch(event->type()) {
case QEvent::Polish:
- initialize();
+ if (!isInitialized())
+ initialize();
break;
default:
break;
diff --git a/src/compositor/global/qwaylandquickextension.h b/src/compositor/global/qwaylandquickextension.h
index b869dcec4..c721bcb97 100644
--- a/src/compositor/global/qwaylandquickextension.h
+++ b/src/compositor/global/qwaylandquickextension.h
@@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE
return QQmlListProperty<QObject>(this, m_objects); \
} \
void classBegin() override {} \
- void componentComplete() override { initialize(); } \
+ void componentComplete() override { if (!isInitialized()) initialize(); } \
private: \
QList<QObject *> m_objects; \
};