diff options
Diffstat (limited to 'src/corelib/kernel/qobject.cpp')
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 2d280f14f7..0f314d45f1 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -147,6 +147,7 @@ private: void (*QAbstractDeclarativeData::destroyed)(QAbstractDeclarativeData *, QObject *) = 0; void (*QAbstractDeclarativeData::parentChanged)(QAbstractDeclarativeData *, QObject *, QObject *) = 0; void (*QAbstractDeclarativeData::objectNameChanged)(QAbstractDeclarativeData *, QObject *) = 0; +void (*QAbstractDeclarativeData::signalEmitted)(QAbstractDeclarativeData *, QObject *, int, void **) = 0; QObjectData::~QObjectData() {} @@ -3271,6 +3272,10 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign int signal_index = signalOffset + local_signal_index; + if (sender->d_func()->declarativeData && QAbstractDeclarativeData::signalEmitted) + QAbstractDeclarativeData::signalEmitted(sender->d_func()->declarativeData, sender, + methodOffset + local_signal_index, argv); + if (!sender->d_func()->isSignalConnected(signal_index)) return; // nothing connected to these signals, and no spy |