diff options
author | Olivier Goffart <ogoffart@woboq.com> | 2011-11-23 15:03:04 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-25 01:12:14 +0100 |
commit | 66b659c8a4a429b483b66fd1a1d1429a2c0d3b4a (patch) | |
tree | c654cac67ca5d6cc2cbd2d41d03b83f5011dc0c3 /src/corelib/kernel/qobject.h | |
parent | 583c55b243d9894d93d32fbe15bece2a9beb1d10 (diff) |
Add support for QueuedConnection when connecting using the new syntax
QMetaCallEvent now can handle a pointer to QSlotObjectBase
Change-Id: I94da1e68ce9bb1fd96a9ae013a389552eb625faa
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel/qobject.h')
-rw-r--r-- | src/corelib/kernel/qobject.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h index 93448b5ad1..d4a532a9d8 100644 --- a/src/corelib/kernel/qobject.h +++ b/src/corelib/kernel/qobject.h @@ -221,6 +221,9 @@ public: typedef typename QtPrivate::CheckCompatibleArguments<typename SignalType::Arguments, typename SlotType::Arguments>::IncompatibleSignalSlotArguments EnsureCompatibleArguments; const int *types = 0; + if (type == Qt::QueuedConnection || type == Qt::BlockingQueuedConnection) + types = QtPrivate::ConnectionTypes<typename SignalType::Arguments>::types(); + return connectImpl(sender, reinterpret_cast<void **>(&signal), receiver, new QSlotObject<Func2, typename QtPrivate::List_Left<typename SignalType::Arguments, SlotType::ArgumentCount>::Value, @@ -318,6 +321,7 @@ protected: static const QMetaObject staticQtMetaObject; friend struct QMetaObject; + friend class QMetaCallEvent; friend class QApplication; friend class QApplicationPrivate; friend class QCoreApplication; |