From b420f5b41bfbf5c60c2fa45928638d6ce5196c8a Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 5 Nov 2018 14:00:53 +0400 Subject: [PATCH] Fix crash in round video playback. --- .../media/player/media_player_round_controller.cpp | 4 +++- .../SourceFiles/media/player/media_player_round_controller.h | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) 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: