From bb02115ff1c23289264b077d7d24b723fd9d339a Mon Sep 17 00:00:00 2001 From: Johan Klokkhammer Helsing Date: Wed, 9 May 2018 14:02:08 +0200 Subject: 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 --- src/compositor/global/qwaylandcompositorextension.cpp | 3 ++- 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 ee117bba..e50df48b 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 b869dcec..c721bcb9 100644 --- a/src/compositor/global/qwaylandquickextension.h +++ b/src/compositor/global/qwaylandquickextension.h @@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE return QQmlListProperty(this, m_objects); \ } \ void classBegin() override {} \ - void componentComplete() override { initialize(); } \ + void componentComplete() override { if (!isInitialized()) initialize(); } \ private: \ QList m_objects; \ }; -- cgit v1.2.1