diff --git a/Telegram/SourceFiles/data/data_peer.cpp b/Telegram/SourceFiles/data/data_peer.cpp index 4daba8a115..41f158c678 100644 --- a/Telegram/SourceFiles/data/data_peer.cpp +++ b/Telegram/SourceFiles/data/data_peer.cpp @@ -85,10 +85,14 @@ PeerClickHandler::PeerClickHandler(not_null 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(_peer->isMegagroup() ? tr::lng_group_not_accessible(tr::now) : tr::lng_channel_not_accessible(tr::now)));