From 44ea5092e835b85bdfb330bacf9868fcba7a0e24 Mon Sep 17 00:00:00 2001 From: Karol Kosek Date: Tue, 29 Aug 2023 16:47:01 +0200 Subject: [PATCH] LibIMAP: Reject a promise when a command couldn't be sent I feel like ErrorOr>> was an overkill. Promises already hold an optional error type we can use instead. --- Userland/Libraries/LibIMAP/Client.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibIMAP/Client.cpp b/Userland/Libraries/LibIMAP/Client.cpp index f2ef21ec9a..452fc57a32 100644 --- a/Userland/Libraries/LibIMAP/Client.cpp +++ b/Userland/Libraries/LibIMAP/Client.cpp @@ -179,8 +179,11 @@ ErrorOr>>> Client::send_command(Command&& comm auto promise = Promise>::construct(); m_pending_promises.append(promise); - if (m_pending_promises.size() == 1) - TRY(send_next_command()); + if (m_pending_promises.size() == 1) { + auto maybe_error = send_next_command(); + if (maybe_error.is_error()) + promise->reject(maybe_error.release_error()); + } return promise; }