summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2019-02-26 12:57:00 +0100
committerMårten Nordheim <marten.nordheim@qt.io>2019-02-27 14:27:04 +0000
commit2ec47d6cb53066b052c13d088e249a44f8a04c79 (patch)
treef545d2bcc9c185f395b0af51d7c52cea82ea4056 /src/corelib/kernel
parentd15b02ff291e3124d9bb8ac3b06b704c292f52ab (diff)
Fix crash in QTest's signal dumper
It Q_ASSERTs that argv is not a nullptr, so it would fail when an unconnected signal with 0 arguments was emitted. Change-Id: I5dd810fbeea5b6b511eff4705efdaa6a55739604 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qobject.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 1382015d76..63bb386107 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -3593,6 +3593,10 @@ void doActivate(QObject *sender, int signal_index, void **argv)
const QSignalSpyCallbackSet *signal_spy_set = callbacks_enabled ? qt_signal_spy_callback_set.load() : nullptr;
+ void *empty_argv[] = { nullptr };
+ if (!argv)
+ argv = empty_argv;
+
if (!sp->isSignalConnected(signal_index, false)) {
// The possible declarative connection is done, and nothing else is connected
if (callbacks_enabled && signal_spy_set->signal_begin_callback != nullptr)
@@ -3604,10 +3608,6 @@ void doActivate(QObject *sender, int signal_index, void **argv)
return;
}
- void *empty_argv[] = { nullptr };
- if (!argv)
- argv = empty_argv;
-
if (callbacks_enabled && signal_spy_set->signal_begin_callback != nullptr)
signal_spy_set->signal_begin_callback(sender, signal_index, argv);
Q_TRACE(QMetaObject_activate_begin_signal, sender, signal_index);