From e17768bcc30451fb2abdf901ea36c22ace81e920 Mon Sep 17 00:00:00 2001 From: levlam Date: Sat, 16 Mar 2019 23:48:00 +0300 Subject: [PATCH] Fix applying poll answer. GitOrigin-RevId: 1100874484111cf65f05f7254a131ab70fc3eecc --- td/telegram/PollManager.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/td/telegram/PollManager.cpp b/td/telegram/PollManager.cpp index db486ce95..aafd8c1c2 100644 --- a/td/telegram/PollManager.cpp +++ b/td/telegram/PollManager.cpp @@ -665,12 +665,14 @@ void PollManager::on_set_poll_answer(PollId poll_id, uint64 generation, auto promises = std::move(pending_answer.promises_); pending_answers_.erase(it); - td_->updates_manager_->on_get_updates(result.move_as_ok()); + if (result.is_ok()) { + td_->updates_manager_->on_get_updates(result.move_as_ok()); - for (auto &promise : promises) { - if (result.is_ok()) { + for (auto &promise : promises) { promise.set_value(Unit()); - } else { + } + } else { + for (auto &promise : promises) { promise.set_error(result.error().clone()); } }