diff --git a/Telegram/SourceFiles/core/application.cpp b/Telegram/SourceFiles/core/application.cpp index 79aa40d8a..e525d258e 100644 --- a/Telegram/SourceFiles/core/application.cpp +++ b/Telegram/SourceFiles/core/application.cpp @@ -797,13 +797,11 @@ void Application::handleAppDeactivated() { if (_primaryWindow) { _primaryWindow->updateIsActiveBlur(); } - if (_domain->started()) { - const auto session = _lastActiveWindow - ? _lastActiveWindow->account().maybeSession() - : nullptr; - if (session) { - session->updates().updateOnline(); - } + const auto session = _lastActiveWindow + ? _lastActiveWindow->maybeSession() + : nullptr; + if (session) { + session->updates().updateOnline(); } Ui::Tooltip::Hide(); } @@ -1235,8 +1233,8 @@ void Application::windowActivated(not_null window) { const auto now = window; _lastActiveWindow = window; - const auto wasSession = was ? was->account().maybeSession() : nullptr; - const auto nowSession = now->account().maybeSession(); + const auto wasSession = was ? was->maybeSession() : nullptr; + const auto nowSession = now->maybeSession(); if (wasSession != nowSession) { if (wasSession) { wasSession->updates().updateOnline(); diff --git a/Telegram/SourceFiles/window/window_controller.cpp b/Telegram/SourceFiles/window/window_controller.cpp index ab04408c9..bb33ba656 100644 --- a/Telegram/SourceFiles/window/window_controller.cpp +++ b/Telegram/SourceFiles/window/window_controller.cpp @@ -251,6 +251,10 @@ void Controller::finishFirstShow() { checkThemeEditor(); } +Main::Session *Controller::maybeSession() const { + return _account ? _account->maybeSession() : nullptr; +} + bool Controller::locked() const { if (Core::App().passcodeLocked()) { return true; diff --git a/Telegram/SourceFiles/window/window_controller.h b/Telegram/SourceFiles/window/window_controller.h index 6792826f1..578540b59 100644 --- a/Telegram/SourceFiles/window/window_controller.h +++ b/Telegram/SourceFiles/window/window_controller.h @@ -13,6 +13,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace Main { class Account; +class Session; } // namespace Main namespace Media::View { @@ -46,6 +47,10 @@ public: return *_account; } + [[nodiscard]] Main::Account *maybeAccount() const { + return _account; + } + [[nodiscard]] Main::Session *maybeSession() const; [[nodiscard]] SessionController *sessionController() const { return _sessionController.get(); }