Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
static QDBusCallDeliveryEvent *prepareReply(QDBusConnectionPrivate *target, QObject *object,
int idx, const QList<int> &metaTypes,
const QDBusMessage &msg);
static QDBusCallDeliveryEvent *prepareReply(QDBusConnectionPrivate *target, QObject *object,
int idx, const QList<int> &metaTypes,
const QDBusMessage &msg);
- static void processFinishedCall(QDBusPendingCallPrivate *call);
+ static QDBusPendingCallPrivate* processFinishedCall(QDBusPendingCallPrivate *call);
static QDBusConnectionPrivate *d(const QDBusConnection& q) { return q.d; }
static QDBusConnection q(QDBusConnectionPrivate *connection) { return QDBusConnection(connection); }
static QDBusConnectionPrivate *d(const QDBusConnection& q) { return q.d; }
static QDBusConnection q(QDBusConnectionPrivate *connection) { return QDBusConnection(connection); }
-void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
+QDBusPendingCallPrivate* QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
{
QDBusConnectionPrivate *connection = const_cast<QDBusConnectionPrivate *>(call->connection);
{
QDBusConnectionPrivate *connection = const_cast<QDBusConnectionPrivate *>(call->connection);
if (msg.type() == QDBusMessage::ErrorMessage)
emit connection->callWithCallbackFailed(QDBusError(msg), call->sentMessage);
if (msg.type() == QDBusMessage::ErrorMessage)
emit connection->callWithCallbackFailed(QDBusError(msg), call->sentMessage);
- if (!call->ref.deref())
+ if (!call->ref.deref()) {
+ return Q_NULLPTR;
+ }
+ return call;
}
bool QDBusConnectionPrivate::send(const QDBusMessage& message)
}
bool QDBusConnectionPrivate::send(const QDBusMessage& message)
// by QDBusPendingCall::QExplicitlySharedDataPointer<QDBusPendingCallPrivate>
pcall->ref = 2;
}
// by QDBusPendingCall::QExplicitlySharedDataPointer<QDBusPendingCallPrivate>
pcall->ref = 2;
}
- processFinishedCall(pcall);
- return pcall;
+ return processFinishedCall(pcall);
qPrintable(error.message()));
pcall->replyMessage = QDBusMessage::createError(error);
lastError = error;
qPrintable(error.message()));
pcall->replyMessage = QDBusMessage::createError(error);
lastError = error;
- processFinishedCall(pcall);
- return pcall;
+ return processFinishedCall(pcall);
}
qDBusDebug() << this << "sending message (async):" << message;
}
qDBusDebug() << this << "sending message (async):" << message;
dbus_message_unref(msg);
pcall->replyMessage = QDBusMessage::createError(error);
dbus_message_unref(msg);
pcall->replyMessage = QDBusMessage::createError(error);
- processFinishedCall(pcall);
- return pcall;
+ return processFinishedCall(pcall);
}
bool QDBusConnectionPrivate::connectSignal(const QString &service,
}
bool QDBusConnectionPrivate::connectSignal(const QString &service,