From 2b5d3b022d13d690c65c6a51ba3f61edc9d106f1 Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 25 Jun 2020 19:01:10 +0400 Subject: [PATCH] Fix player closing on logout. --- Telegram/SourceFiles/intro/intro_widget.cpp | 2 +- Telegram/SourceFiles/mainwidget.cpp | 2 +- Telegram/SourceFiles/media/player/media_player_float.cpp | 6 ++++++ Telegram/SourceFiles/media/player/media_player_instance.cpp | 2 ++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Telegram/SourceFiles/intro/intro_widget.cpp b/Telegram/SourceFiles/intro/intro_widget.cpp index abe077692..a79cd45a4 100644 --- a/Telegram/SourceFiles/intro/intro_widget.cpp +++ b/Telegram/SourceFiles/intro/intro_widget.cpp @@ -587,7 +587,7 @@ void Widget::showTerms(Fn callback) { void Widget::showControls() { getStep()->show(); setupNextButton(); - _next->show(anim::type::instant); + _next->toggle(_nextShown, anim::type::instant); _nextShownAnimation.stop(); _connecting->setForceHidden(false); auto hasCover = getStep()->hasCover(); diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index 2cfdd45e9..5f4446935 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -253,7 +253,7 @@ MainWidget::MainWidget( Core::App().floatPlayerClosed( ) | rpl::start_with_next([=](FullMsgId itemId) { floatPlayerClosed(itemId); - }, lifetime()); + }, lifetime()); Core::App().exportManager().currentView( ) | rpl::start_with_next([=](Export::View::PanelController *view) { diff --git a/Telegram/SourceFiles/media/player/media_player_float.cpp b/Telegram/SourceFiles/media/player/media_player_float.cpp index 0cae66312..4598ee4af 100644 --- a/Telegram/SourceFiles/media/player/media_player_float.cpp +++ b/Telegram/SourceFiles/media/player/media_player_float.cpp @@ -24,6 +24,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "core/application.h" #include "core/core_settings.h" #include "main/main_session.h" +#include "main/main_account.h" #include "facades.h" #include "app.h" #include "styles/style_media_player.h" @@ -70,6 +71,11 @@ Float::Float( } }, lifetime()); + document->session().account().sessionChanges( + ) | rpl::start_with_next([=] { + detach(); + }, lifetime()); + setCursor(style::cur_pointer); } diff --git a/Telegram/SourceFiles/media/player/media_player_instance.cpp b/Telegram/SourceFiles/media/player/media_player_instance.cpp index c9a734013..c71fe14cc 100644 --- a/Telegram/SourceFiles/media/player/media_player_instance.cpp +++ b/Telegram/SourceFiles/media/player/media_player_instance.cpp @@ -209,6 +209,8 @@ void Instance::setSession(not_null data, Main::Session *session) { setSession(data, nullptr); }, data->sessionLifetime); } else { + stop(data->type); + _tracksFinishedNotifier.notify(data->type); *data = Data(data->type, data->overview); } }