diff --git a/Telegram/SourceFiles/boxes/share_box.cpp b/Telegram/SourceFiles/boxes/share_box.cpp index 972320ed5..7e6171c9c 100644 --- a/Telegram/SourceFiles/boxes/share_box.cpp +++ b/Telegram/SourceFiles/boxes/share_box.cpp @@ -1270,7 +1270,7 @@ void FastShareMessage( } if (item->hasDirectLink()) { using namespace HistoryView; - CopyPostLink(session, item->fullId(), Context::History); + CopyPostLink(controller, item->fullId(), Context::History); } else if (const auto bot = item->getMessageBot()) { if (const auto media = item->media()) { if (const auto game = media->game()) { diff --git a/Telegram/SourceFiles/history/history_inner_widget.cpp b/Telegram/SourceFiles/history/history_inner_widget.cpp index a1d62cccf..434a3fe29 100644 --- a/Telegram/SourceFiles/history/history_inner_widget.cpp +++ b/Telegram/SourceFiles/history/history_inner_widget.cpp @@ -2208,7 +2208,7 @@ void HistoryInner::showContextMenu(QContextMenuEvent *e, bool showFromTouch) { } if (item && item->hasDirectLink() && isUponSelected != 2 && isUponSelected != -2) { _menu->addAction(item->history()->peer->isMegagroup() ? tr::lng_context_copy_message_link(tr::now) : tr::lng_context_copy_post_link(tr::now), [=] { - HistoryView::CopyPostLink(session, itemId, HistoryView::Context::History); + HistoryView::CopyPostLink(controller, itemId, HistoryView::Context::History); }, &st::menuIconLink); } if (isUponSelected > 1) { @@ -2354,7 +2354,7 @@ void HistoryInner::showContextMenu(QContextMenuEvent *e, bool showFromTouch) { &st::menuIconCopy); } else if (item && item->hasDirectLink() && isUponSelected != 2 && isUponSelected != -2) { _menu->addAction(item->history()->peer->isMegagroup() ? tr::lng_context_copy_message_link(tr::now) : tr::lng_context_copy_post_link(tr::now), [=] { - HistoryView::CopyPostLink(session, itemId, HistoryView::Context::History); + HistoryView::CopyPostLink(controller, itemId, HistoryView::Context::History); }, &st::menuIconLink); } if (isUponSelected > 1) { diff --git a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp index 824f29769..53a1e835b 100644 --- a/Telegram/SourceFiles/history/view/history_view_context_menu.cpp +++ b/Telegram/SourceFiles/history/view/history_view_context_menu.cpp @@ -325,11 +325,12 @@ void AddPostLinkAction( const auto context = request.view ? request.view->context() : Context::History; + const auto controller = request.navigation->parentController(); menu->addAction( (item->history()->peer->isMegagroup() ? tr::lng_context_copy_message_link : tr::lng_context_copy_post_link)(tr::now), - [=] { CopyPostLink(session, itemId, context); }, + [=] { CopyPostLink(controller, itemId, context); }, &st::menuIconLink); } @@ -1007,10 +1008,10 @@ base::unique_qptr FillContextMenu( } void CopyPostLink( - not_null session, + not_null controller, FullMsgId itemId, Context context) { - const auto item = session->data().message(itemId); + const auto item = controller->session().data().message(itemId); if (!item || !item->hasDirectLink()) { return; } @@ -1037,9 +1038,11 @@ void CopyPostLink( return channel->hasUsername(); }(); - Ui::Toast::Show(isPublicLink - ? tr::lng_channel_public_link_copied(tr::now) - : tr::lng_context_about_private_link(tr::now)); + Ui::Toast::Show( + Window::Show(controller).toastParent(), + isPublicLink + ? tr::lng_channel_public_link_copied(tr::now) + : tr::lng_context_about_private_link(tr::now)); } void AddPollActions( diff --git a/Telegram/SourceFiles/history/view/history_view_context_menu.h b/Telegram/SourceFiles/history/view/history_view_context_menu.h index bc9c3d6b2..79e52c4ca 100644 --- a/Telegram/SourceFiles/history/view/history_view_context_menu.h +++ b/Telegram/SourceFiles/history/view/history_view_context_menu.h @@ -51,7 +51,7 @@ base::unique_qptr FillContextMenu( const ContextMenuRequest &request); void CopyPostLink( - not_null session, + not_null controller, FullMsgId itemId, Context context); void AddPollActions(