diff options
author | Sergio Ahumada <sergio.ahumada@digia.com> | 2013-07-11 15:14:13 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@digia.com> | 2013-07-11 16:42:01 +0200 |
commit | 3ef6cf060e984bca43956a23b61b32ec7347cfc7 (patch) | |
tree | 14810e4d0168c0cc3d69cb286574bf28375c07bc /src/dbus | |
parent | b06304e164ba47351fa292662c1e6383c081b5ca (diff) | |
parent | 7b9d6cf844ece18fef884f51117e25ad4ac31db5 (diff) | |
download | qtbase-3ef6cf060e984bca43956a23b61b32ec7347cfc7.tar.gz |
Merge branch 'stable' into dev
Conflicts:
qmake/generators/mac/pbuilder_pbx.cpp
src/corelib/json/qjsonwriter.cpp
src/corelib/kernel/qeventdispatcher_blackberry.cpp
src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm
Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
Diffstat (limited to 'src/dbus')
-rw-r--r-- | src/dbus/qdbusabstractadaptor.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/dbus/qdbusabstractadaptor.cpp b/src/dbus/qdbusabstractadaptor.cpp index 1dbc79d6ec..04accee037 100644 --- a/src/dbus/qdbusabstractadaptor.cpp +++ b/src/dbus/qdbusabstractadaptor.cpp @@ -279,7 +279,16 @@ void QDBusAdaptorConnector::polish() void QDBusAdaptorConnector::relaySlot(void **argv) { - relay(sender(), senderSignalIndex(), argv); + QObject *sndr = sender(); + if (Q_LIKELY(sndr)) { + relay(sndr, senderSignalIndex(), argv); + } else { + qWarning("QtDBus: cannot relay signals from parent %s(%p \"%s\") unless they are emitted in the object's thread %s(%p \"%s\"). " + "Current thread is %s(%p \"%s\").", + parent()->metaObject()->className(), parent(), qPrintable(parent()->objectName()), + parent()->thread()->metaObject()->className(), parent()->thread(), qPrintable(parent()->thread()->objectName()), + QThread::currentThread()->metaObject()->className(), QThread::currentThread(), qPrintable(QThread::currentThread()->objectName())); + } } void QDBusAdaptorConnector::relay(QObject *senderObj, int lastSignalIdx, void **argv) |