diff -r 5dc02b23752f -r 3e2da88830cd src/dbus/qdbuspendingreply.cpp --- a/src/dbus/qdbuspendingreply.cpp Tue Jul 06 15:10:48 2010 +0300 +++ b/src/dbus/qdbuspendingreply.cpp Wed Aug 18 10:37:55 2010 +0300 @@ -254,7 +254,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; } @@ -273,6 +273,7 @@ void QDBusPendingReplyData::setMetaTypes(int count, const int *types) { Q_ASSERT(d); + QMutexLocker locker(&d->mutex); d->setMetaTypes(count, types); d->checkReceivedSignature(); }