diff --git a/Telegram/SourceFiles/boxes/share_box.cpp b/Telegram/SourceFiles/boxes/share_box.cpp index 548edf1fd2..124f43e36e 100644 --- a/Telegram/SourceFiles/boxes/share_box.cpp +++ b/Telegram/SourceFiles/boxes/share_box.cpp @@ -1343,8 +1343,9 @@ ShareBox::SubmitCallback ShareBox::DefaultForwardCallback( if (!state->requests.empty()) { return; // Share clicked already. } - auto items = history->owner().idsToItems(msgIds); - if (items.empty() || result.empty()) { + const auto items = history->owner().idsToItems(msgIds); + const auto existingIds = history->owner().itemsToIds(items); + if (existingIds.empty() || result.empty()) { return; } @@ -1384,12 +1385,12 @@ ShareBox::SubmitCallback ShareBox::DefaultForwardCallback( ? Flag::f_drop_media_captions : Flag(0)); auto mtpMsgIds = QVector(); - mtpMsgIds.reserve(msgIds.size()); - for (const auto &fullId : msgIds) { + mtpMsgIds.reserve(existingIds.size()); + for (const auto &fullId : existingIds) { mtpMsgIds.push_back(MTP_int(fullId.msg)); } const auto generateRandom = [&] { - auto result = QVector(msgIds.size()); + auto result = QVector(existingIds.size()); for (auto &value : result) { value = base::RandomValue(); } diff --git a/Telegram/SourceFiles/window/window_peer_menu.cpp b/Telegram/SourceFiles/window/window_peer_menu.cpp index 7dceba8377..bea338031a 100644 --- a/Telegram/SourceFiles/window/window_peer_menu.cpp +++ b/Telegram/SourceFiles/window/window_peer_menu.cpp @@ -1656,7 +1656,11 @@ QPointer ShowForwardMessagesBox( not_null navigation, Data::ForwardDraft &&draft, Fn &&successCallback) { - const auto msgIds = draft.ids; + const auto owner = &navigation->session().data(); + const auto msgIds = owner->itemsToIds(owner->idsToItems(draft.ids)); + if (msgIds.empty()) { + return nullptr; + } class ListBox final : public PeerListBox { public: