diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index cc3800b77..312d5568d 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -2213,6 +2213,9 @@ void OverlayWidget::showDocument( displayDocument(document, context, cloud, continueStreaming); preloadData(0); activateControls(); + if (_showAsPip && !videoIsGifOrUserpic()) { + switchToPip(); + } } void OverlayWidget::displayPhoto(not_null photo, HistoryItem *item) { @@ -2982,8 +2985,10 @@ void OverlayWidget::switchToPip() { const auto document = _document; const auto msgId = _msgid; const auto closeAndContinue = [=] { + _showAsPip = false; showDocument(document, document->owner().message(msgId), {}, true); }; + _showAsPip = true; _pip = std::make_unique( this, document, diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.h b/Telegram/SourceFiles/media/view/media_view_overlay_widget.h index a840d4c2d..b76a9f261 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.h +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.h @@ -443,6 +443,7 @@ private: std::unique_ptr _streamed; std::unique_ptr _pip; + bool _showAsPip = false; const style::icon *_docIcon = nullptr; style::color _docIconColor;