diff -r e24348a560a6 -r b72c6db6890b src/dbus/qdbuspendingreply.cpp --- a/src/dbus/qdbuspendingreply.cpp Fri Jun 11 14:24:45 2010 +0300 +++ b/src/dbus/qdbuspendingreply.cpp Wed Jun 23 19:07:03 2010 +0300 @@ -252,7 +252,7 @@ void QDBusPendingReplyData::assign(const QDBusMessage &message) { - d = new QDBusPendingCallPrivate; // drops the reference to the old one + d = new QDBusPendingCallPrivate(QDBusMessage(), 0); // drops the reference to the old one d->replyMessage = message; } @@ -271,6 +271,7 @@ void QDBusPendingReplyData::setMetaTypes(int count, const int *types) { Q_ASSERT(d); + QMutexLocker locker(&d->mutex); d->setMetaTypes(count, types); d->checkReceivedSignature(); }