diff --git a/Telegram/SourceFiles/calls/group/calls_group_panel.cpp b/Telegram/SourceFiles/calls/group/calls_group_panel.cpp index 39d61f007..96ba47226 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_panel.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_panel.cpp @@ -1020,11 +1020,10 @@ void Panel::setupMembers() { _call->videoEndpointPinnedValue( ) | rpl::start_with_next([=](const VideoEndpoint &pinned) { - if (mode() == PanelMode::Wide) { - _viewport->showLarge(pinned); - } else if (pinned) { + if (pinned && mode() != PanelMode::Wide) { enlargeVideo(); } + _viewport->showLarge(pinned); }, _callLifetime); } diff --git a/Telegram/SourceFiles/calls/group/calls_group_panel.h b/Telegram/SourceFiles/calls/group/calls_group_panel.h index 1c91e623a..722591d2a 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_panel.h +++ b/Telegram/SourceFiles/calls/group/calls_group_panel.h @@ -111,7 +111,6 @@ private: void refreshLeftButton(); void refreshVideoButtons( std::optional overrideWideMode = std::nullopt); - void refreshTilesGeometry(); void toggleWideControls(bool shown); [[nodiscard]] bool videoButtonInNarrowMode() const; diff --git a/Telegram/SourceFiles/calls/group/calls_group_viewport.cpp b/Telegram/SourceFiles/calls/group/calls_group_viewport.cpp index 92815a438..af69d1e9a 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_viewport.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_viewport.cpp @@ -250,7 +250,9 @@ void Viewport::showLarge(const VideoEndpoint &endpoint) { const auto large = (i != end(_tiles)) ? i->get() : nullptr; if (_large != large) { _large = large; - updateTilesGeometry(); + if (wide()) { + updateTilesGeometry(); + } } }