diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2019-02-12 12:45:50 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2019-02-22 11:36:18 +0000 |
commit | 46589056c399191e1afe0b2ddb1e2f0570fa8ddc (patch) | |
tree | d3e0eda14f61046fa76a2dc40ebb91226fc6a4fb | |
parent | 783953f09dcfe9c58dc991394535ba07dabe2560 (diff) |
QObject: count declarative receivers also if there are no C++ ones
Change-Id: If998cdd5eeb8a3ae85cd540cc9c1fd0c051e1d4b
Fixes: QTBUG-73753
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 257575e141..7b9689f1cf 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -2404,8 +2404,7 @@ int QObject::receivers(const char *signal) const { Q_D(const QObject); int receivers = 0; - QObjectPrivate::ConnectionData *cd = d->connections.load(); - if (signal && cd) { + if (signal) { QByteArray signal_name = QMetaObject::normalizedSignature(signal); signal = signal_name; #ifndef QT_NO_DEBUG @@ -2429,8 +2428,9 @@ int QObject::receivers(const char *signal) const signal_index); } + QObjectPrivate::ConnectionData *cd = d->connections.load(); QBasicMutexLocker locker(signalSlotLock(this)); - if (signal_index < cd->signalVector.count()) { + if (cd && signal_index < cd->signalVector.count()) { const QObjectPrivate::Connection *c = cd->signalVector.at(signal_index).first; while (c) { |