From 46de86f1e48ed6e9c1e37277204bf6b3f29afaee Mon Sep 17 00:00:00 2001 From: RadRussianRus <radrussianrus@gmail.com> Date: Sun, 26 Jan 2020 05:50:52 +0300 Subject: [PATCH] Fix opening private linked channel from message --- Telegram/SourceFiles/data/data_peer.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/data/data_peer.cpp b/Telegram/SourceFiles/data/data_peer.cpp index 4daba8a11..41f158c67 100644 --- a/Telegram/SourceFiles/data/data_peer.cpp +++ b/Telegram/SourceFiles/data/data_peer.cpp @@ -85,10 +85,14 @@ PeerClickHandler::PeerClickHandler(not_null<PeerData*> peer) void PeerClickHandler::onClick(ClickContext context) const { if (context.button == Qt::LeftButton && App::wnd()) { const auto controller = App::wnd()->sessionController(); + const auto currentPeer = controller->activeChatCurrent().peer(); if (_peer && _peer->isChannel() - && controller->activeChatCurrent().peer() != _peer) { - if (!_peer->asChannel()->isPublic() && !_peer->asChannel()->amIn()) { + && currentPeer != _peer) { + const auto clickedChannel = _peer->asChannel(); + if (!clickedChannel->isPublic() && !clickedChannel->amIn() + && (!currentPeer->isChannel() + || currentPeer->asChannel()->linkedChat() != clickedChannel)) { Ui::show(Box<InformBox>(_peer->isMegagroup() ? tr::lng_group_not_accessible(tr::now) : tr::lng_channel_not_accessible(tr::now)));