diff options
| -rw-r--r-- | src/client/QXmppClient.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/client/QXmppClient.cpp b/src/client/QXmppClient.cpp index b54f47fd..ebb6bd70 100644 --- a/src/client/QXmppClient.cpp +++ b/src/client/QXmppClient.cpp @@ -364,10 +364,12 @@ QFuture<QXmpp::SendResult> QXmppClient::send(QXmppStanza &&stanza) await(future, this, [this, interface](std::variant<QByteArray, QXmpp::SendError> result) { if (const auto *xml = std::get_if<QByteArray>(&result)) { - d->stream->send(QXmppPacket(*xml, true, interface)); + auto future = d->stream->send(QXmppPacket(*xml, true, interface)); + await(future, this, [=](QXmpp::SendResult &&result) { + reportFinishedResult(*interface, result); + }); } else { - interface->reportResult(std::get<QXmpp::SendError>(result)); - interface->reportFinished(); + reportFinishedResult(*interface, { std::get<QXmpp::SendError>(result) }); } }); |
