diff --git a/Telegram/SourceFiles/media/player/media_player_round_controller.cpp b/Telegram/SourceFiles/media/player/media_player_round_controller.cpp index b0c07fb5a..4d4abdbaf 100644 --- a/Telegram/SourceFiles/media/player/media_player_round_controller.cpp +++ b/Telegram/SourceFiles/media/player/media_player_round_controller.cpp @@ -70,7 +70,9 @@ RoundController::RoundController( Auth().data().itemRepaintRequest( ) | rpl::start_with_next([=](not_null item) { if (item == _context) { - checkReaderState(); + crl::on_main(this, [=] { + checkReaderState(); + }); } }, lifetime()); } diff --git a/Telegram/SourceFiles/media/player/media_player_round_controller.h b/Telegram/SourceFiles/media/player/media_player_round_controller.h index 303db6365..9328f43ae 100644 --- a/Telegram/SourceFiles/media/player/media_player_round_controller.h +++ b/Telegram/SourceFiles/media/player/media_player_round_controller.h @@ -26,7 +26,9 @@ namespace Player { struct TrackState; enum class State; -class RoundController : private base::Subscriber { +class RoundController + : public base::has_weak_ptr + , private base::Subscriber { struct CreateTag; public: