aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppStream.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2023-01-22 18:06:09 +0100
committerLinus Jahn <lnj@kaidan.im>2023-01-22 18:10:44 +0100
commit46f3831fd238b4c1fb10d44e4531d9e59d574c97 (patch)
treef21c85c98502ef3821d52ee4964060a2c49885d2 /src/base/QXmppStream.cpp
parentdf37c35aa443e6ca7e3baad5f1bbeb379063df55 (diff)
downloadqxmpp-46f3831fd238b4c1fb10d44e4531d9e59d574c97.tar.gz
Use QXmppError in all IQ results instead of StanzaError
This allows us to report different error types with more information and makes it possible to distinguish stanza errors and errors generated locally. Part of #501.
Diffstat (limited to 'src/base/QXmppStream.cpp')
-rw-r--r--src/base/QXmppStream.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/base/QXmppStream.cpp b/src/base/QXmppStream.cpp
index d1a5ccd2..7274e242 100644
--- a/src/base/QXmppStream.cpp
+++ b/src/base/QXmppStream.cpp
@@ -251,8 +251,8 @@ QXmppTask<QXmppStream::IqResult> QXmppStream::sendIq(QXmppPacket &&packet, const
auto sendFuture = send(std::move(packet));
if (sendFuture.isFinished()) {
- if (std::holds_alternative<QXmppError>(sendFuture.result())) {
- // early exit (saves QFutureWatcher)
+ if (std::holds_alternative<QXmppError>(sendFuture.takeResult())) {
+ // early exit
return makeReadyTask<IqResult>(std::get<QXmppError>(sendFuture.result()));
}
} else {
@@ -266,10 +266,7 @@ QXmppTask<QXmppStream::IqResult> QXmppStream::sendIq(QXmppPacket &&packet, const
});
}
- IqState state {
- {},
- to,
- };
+ IqState state { {}, to };
auto task = state.interface.task();
d->runningIqs.insert(id, std::move(state));
return task;