diff options
| author | Melvin Keskin <melvo@olomono.de> | 2022-01-23 19:07:14 +0100 |
|---|---|---|
| committer | Linus Jahn <lnj@kaidan.im> | 2022-02-02 15:32:49 +0100 |
| commit | d5bcf259944c8f48971f6fa6f13d603511d7c75f (patch) | |
| tree | 2e22e432179f5428ffee6be7cff2eae6dd305c2d /src/client/QXmppClient.cpp | |
| parent | 12ca0b777e8d28f228e086bd7cee5fc860867cde (diff) | |
Client: Fix 'send()' doesn't forward result from stream when using e2ee
Diffstat (limited to 'src/client/QXmppClient.cpp')
| -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) }); } }); |
