diff --git a/outline.cpp b/outline.cpp index 9e6ef7b907..82117ef734 100644 --- a/outline.cpp +++ b/outline.cpp @@ -126,7 +126,7 @@ CompositedOutlineVisual::CompositedOutlineVisual(Outline *outline) : OutlineVisual(outline) , m_qmlContext() , m_qmlComponent() - , m_mainItem(nullptr) + , m_mainItem() { } @@ -136,7 +136,7 @@ CompositedOutlineVisual::~CompositedOutlineVisual() void CompositedOutlineVisual::hide() { - if (QQuickWindow *w = qobject_cast(m_mainItem)) { + if (QQuickWindow *w = qobject_cast(m_mainItem.data())) { w->hide(); w->destroy(); } @@ -160,7 +160,7 @@ void CompositedOutlineVisual::show() if (m_qmlComponent->isError()) { qDebug() << "Component failed to load: " << m_qmlComponent->errors(); } else { - m_mainItem = m_qmlComponent->create(m_qmlContext.data()); + m_mainItem.reset(m_qmlComponent->create(m_qmlContext.data())); } } } diff --git a/outline.h b/outline.h index ce8bbb50da..463213926e 100644 --- a/outline.h +++ b/outline.h @@ -122,7 +122,7 @@ public: private: QScopedPointer m_qmlContext; QScopedPointer m_qmlComponent; - QObject *m_mainItem; + QScopedPointer m_mainItem; }; class NonCompositedOutlineVisual : public OutlineVisual