summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qmetaobject.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-01-20 22:34:43 +0100
committerLiang Qi <liang.qi@qt.io>2018-01-20 22:36:19 +0100
commit65a97fccc67ae7f3df1900e1419955f939a49b9f (patch)
treea8fd0e119b585123e77e3b2574f2d82a5474eb28 /src/corelib/kernel/qmetaobject.cpp
parent5e8bc07cb2ded1f5f74435411de666f419869514 (diff)
parent1303327a713d8f88fd9782e4f887b646d4210f68 (diff)
Merge remote-tracking branch 'origin/5.10' into dev
Conflicts: tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp Change-Id: If089d5010d15c33b3c1f13912d4386207456c1a9
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;