From 46af7d3d1feedb8187e74dce7145e7f58c61d2c1 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sun, 16 Jul 2023 14:25:25 +0200 Subject: [PATCH] Port SlotObjectGuard to SlotObjUniquePtr MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I81e64db7e1be9076494bee15bbca372ebffeb3e0 Reviewed-by: Volker Hilsheimer Reviewed-by: MÃ¥rten Nordheim (cherry picked from commit cec711092f7df10ee90ccac6784da4bbea491e16) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/kernel/qobject.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) 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; }; /*!