diff options
Diffstat (limited to 'src/corelib/kernel/qmetaobject.cpp')
-rw-r--r-- | src/corelib/kernel/qmetaobject.cpp | 6 |
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; |