From c70a1f03de13c0e49f01f0fd03180067b6c7eb27 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 17 Apr 2020 14:58:23 +0400 Subject: [PATCH] Fix applying poll updates. --- Telegram/SourceFiles/data/data_poll.cpp | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Telegram/SourceFiles/data/data_poll.cpp b/Telegram/SourceFiles/data/data_poll.cpp index 2d58512e68..3bb520a7d2 100644 --- a/Telegram/SourceFiles/data/data_poll.cpp +++ b/Telegram/SourceFiles/data/data_poll.cpp @@ -147,14 +147,16 @@ bool PollData::applyResults(const MTPPollResults &results) { }) | ranges::to_vector; } } - auto newSolution = TextWithEntities{ - results.vsolution().value_or_empty(), - Api::EntitiesFromMTP( - results.vsolution_entities().value_or_empty()) - }; - if (solution != newSolution) { - solution = std::move(newSolution); - changed = true; + if (results.vsolution()) { + auto newSolution = TextWithEntities{ + results.vsolution().value_or_empty(), + Api::EntitiesFromMTP( + results.vsolution_entities().value_or_empty()) + }; + if (solution != newSolution) { + solution = std::move(newSolution); + changed = true; + } } if (!changed) { return false; @@ -205,11 +207,9 @@ bool PollData::applyResultToAnswers( changed = true; } } - if (!isMinResults || closed()) { - if (answer->correct != voters.is_correct()) { - answer->correct = voters.is_correct(); - changed = true; - } + if (voters.is_correct() && !answer->correct) { + answer->correct = voters.is_correct(); + changed = true; } return changed; });