diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index a75d053bf0f..5a32c6f2147 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -3770,17 +3770,14 @@ struct SlotObjectGuard { } QtPrivate::QSlotObjectBase const *operator->() const - { return m_slotObject; } + { return m_slotObject.get(); } QtPrivate::QSlotObjectBase *operator->() - { return m_slotObject; } + { return m_slotObject.get(); } - ~SlotObjectGuard() { - if (m_slotObject) - m_slotObject->destroyIfLastRef(); - } + ~SlotObjectGuard() = default; private: - QtPrivate::QSlotObjectBase *m_slotObject = nullptr; + QtPrivate::SlotObjUniquePtr m_slotObject; }; /*!