diff options
author | Johan Klokkhammer Helsing <johan.helsing@qt.io> | 2018-05-09 14:02:08 +0200 |
---|---|---|
committer | Johan Helsing <johan.helsing@qt.io> | 2018-05-09 13:49:52 +0000 |
commit | bb02115ff1c23289264b077d7d24b723fd9d339a (patch) | |
tree | c998dd2d115f00b0fd3f4ea75324b973a4fbb419 | |
parent | c158e0496297b99ab55323c6c0c806cb729ad2a5 (diff) |
Don't call QWaylandCompositorExtension::initialize multiple times
QWaylandCompositorExtension::initialize already had a guard to return early if
called multiple times, sub-class implementations, however, may not include
such checks.
Change-Id: I088a240bdf6ebd8b77de7aab9d2c6953e55569e6
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
-rw-r--r-- | src/compositor/global/qwaylandcompositorextension.cpp | 3 | ||||
-rw-r--r-- | src/compositor/global/qwaylandquickextension.h | 2 |
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; \ }; |