From 977dee3599c601063960e58a7cf2ea169aac4a0d Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 18 Dec 2017 17:29:48 +0400 Subject: [PATCH] Fix fast sharing from channels. Grouped flag is only allowed for grouped media in forward requests. Fixes #4198. --- Telegram/SourceFiles/history/history_message.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/history/history_message.cpp b/Telegram/SourceFiles/history/history_message.cpp index 1ed848262..3f1066095 100644 --- a/Telegram/SourceFiles/history/history_message.cpp +++ b/Telegram/SourceFiles/history/history_message.cpp @@ -196,6 +196,7 @@ void FastShareMessage(not_null item) { } return MessageIdsList(1, item->fullId()); }()); + const auto isGroup = (item->getFullGroup() != nullptr); const auto isGame = item->getMessageBot() && item->getMedia() && (item->getMedia()->type() == MediaTypeGame); @@ -222,7 +223,7 @@ void FastShareMessage(not_null item) { } } }; - auto submitCallback = [data](const QVector &result) { + auto submitCallback = [data, isGroup](const QVector &result) { if (!data->requests.empty()) { return; // Share clicked already. } @@ -263,8 +264,11 @@ void FastShareMessage(not_null item) { } }; - auto sendFlags = MTPmessages_ForwardMessages::Flag::f_with_my_score - | MTPmessages_ForwardMessages::Flag::f_grouped; + const auto sendFlags = MTPmessages_ForwardMessages::Flag(0) + | MTPmessages_ForwardMessages::Flag::f_with_my_score + | (isGroup + ? MTPmessages_ForwardMessages::Flag::f_grouped + : MTPmessages_ForwardMessages::Flag(0)); auto msgIds = QVector(); msgIds.reserve(data->msgIds.size()); for (const auto fullId : data->msgIds) {