diff options
author | Kent Hansen <kent.hansen@nokia.com> | 2012-05-31 21:49:07 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-04 01:18:52 +0200 |
commit | ff505197689062264bf2abc0661d03d371e997df (patch) | |
tree | c3c0caecf86858c8de92f51ae92895f7c4efbb07 /src/corelib | |
parent | 09163941268745bbe231d0b2c25697940aa40127 (diff) |
Change testlib signal dumper hooks to use signal index range
Another step towards getting rid of the class method offset
computation in QMetaObject::activate().
Since QMetaObjectPrivate::signal() is private API, this also
required adding a testlib dependency on core-private (and
getting rid of the duplicated QSignalSpyCallbackSet struct).
Change-Id: I0d830f35392a6b44fc321c5285877ec0bf437100
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 8 | ||||
-rw-r--r-- | src/corelib/kernel/qobject_p.h | 6 |
2 files changed, 6 insertions, 8 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index ae96fffcec..d6793e7568 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -3299,11 +3299,9 @@ void QMetaObject::activate(QObject *sender, int methodOffset, int signalOffset, if (sender->d_func()->blockSig) return; - int signal_absolute_index = methodOffset + local_signal_index; - void *empty_argv[] = { 0 }; if (qt_signal_spy_callback_set.signal_begin_callback != 0) { - qt_signal_spy_callback_set.signal_begin_callback(sender, signal_absolute_index, + qt_signal_spy_callback_set.signal_begin_callback(sender, signal_index, argv ? argv : empty_argv); } @@ -3337,7 +3335,7 @@ void QMetaObject::activate(QObject *sender, int methodOffset, int signalOffset, if (!connectionLists.connectionLists) { locker.unlock(); if (qt_signal_spy_callback_set.signal_end_callback != 0) - qt_signal_spy_callback_set.signal_end_callback(sender, signal_absolute_index); + qt_signal_spy_callback_set.signal_end_callback(sender, signal_index); return; } @@ -3441,7 +3439,7 @@ void QMetaObject::activate(QObject *sender, int methodOffset, int signalOffset, } if (qt_signal_spy_callback_set.signal_end_callback != 0) - qt_signal_spy_callback_set.signal_end_callback(sender, signal_absolute_index); + qt_signal_spy_callback_set.signal_end_callback(sender, signal_index); } diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h index 8121e74245..02c9ac61a7 100644 --- a/src/corelib/kernel/qobject_p.h +++ b/src/corelib/kernel/qobject_p.h @@ -69,11 +69,11 @@ class QThreadData; class QObjectConnectionListVector; namespace QtSharedPointer { struct ExternalRefCountData; } -/* mirrored in QtTestLib, DON'T CHANGE without prior warning */ +/* for QtTestLib */ struct QSignalSpyCallbackSet { - typedef void (*BeginCallback)(QObject *caller, int method_index, void **argv); - typedef void (*EndCallback)(QObject *caller, int method_index); + typedef void (*BeginCallback)(QObject *caller, int signal_or_method_index, void **argv); + typedef void (*EndCallback)(QObject *caller, int signal_or_method_index); BeginCallback signal_begin_callback, slot_begin_callback; EndCallback signal_end_callback, |