Fix pinning video from narrow mode.

This commit is contained in:
John Preston 2021-05-26 15:29:19 +04:00
parent f3e6f5e772
commit 1c42513e44
3 changed files with 5 additions and 5 deletions

View file

@ -1020,11 +1020,10 @@ void Panel::setupMembers() {
_call->videoEndpointPinnedValue( _call->videoEndpointPinnedValue(
) | rpl::start_with_next([=](const VideoEndpoint &pinned) { ) | rpl::start_with_next([=](const VideoEndpoint &pinned) {
if (mode() == PanelMode::Wide) { if (pinned && mode() != PanelMode::Wide) {
_viewport->showLarge(pinned);
} else if (pinned) {
enlargeVideo(); enlargeVideo();
} }
_viewport->showLarge(pinned);
}, _callLifetime); }, _callLifetime);
} }

View file

@ -111,7 +111,6 @@ private:
void refreshLeftButton(); void refreshLeftButton();
void refreshVideoButtons( void refreshVideoButtons(
std::optional<bool> overrideWideMode = std::nullopt); std::optional<bool> overrideWideMode = std::nullopt);
void refreshTilesGeometry();
void toggleWideControls(bool shown); void toggleWideControls(bool shown);
[[nodiscard]] bool videoButtonInNarrowMode() const; [[nodiscard]] bool videoButtonInNarrowMode() const;

View file

@ -250,7 +250,9 @@ void Viewport::showLarge(const VideoEndpoint &endpoint) {
const auto large = (i != end(_tiles)) ? i->get() : nullptr; const auto large = (i != end(_tiles)) ? i->get() : nullptr;
if (_large != large) { if (_large != large) {
_large = large; _large = large;
updateTilesGeometry(); if (wide()) {
updateTilesGeometry();
}
} }
} }