summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qmetaobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qmetaobject.cpp')
-rw-r--r--src/corelib/kernel/qmetaobject.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index 6df3354679..27138dd075 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -1491,6 +1491,12 @@ bool QMetaObject::invokeMethod(QObject *obj,
bool QMetaObject::invokeMethodImpl(QObject *object, QtPrivate::QSlotObjectBase *slot, Qt::ConnectionType type, void *ret)
{
+ struct Holder {
+ QtPrivate::QSlotObjectBase *obj;
+ ~Holder() { obj->destroyIfLastRef(); }
+ } holder = { slot };
+ Q_UNUSED(holder);
+
if (! object)
return false;