mirror of
https://github.com/kotatogram/kotatogram-desktop
synced 2025-09-03 08:05:12 +00:00
Fixed a keeping online status after application quit.
Fixes https://github.com/telegramdesktop/tdesktop/issues/5528.
This commit is contained in:
@@ -3777,7 +3777,14 @@ void MainWidget::updateOnline(bool gotOtherOffline) {
|
||||
|
||||
_lastWasOnline = isOnline;
|
||||
_lastSetOnline = ms;
|
||||
_onlineRequest = MTP::send(MTPaccount_UpdateStatus(MTP_bool(!isOnline)));
|
||||
if (!App::quitting()) {
|
||||
_onlineRequest = MTP::send(MTPaccount_UpdateStatus(MTP_bool(!isOnline)));
|
||||
} else {
|
||||
_onlineRequest = MTP::send(
|
||||
MTPaccount_UpdateStatus(MTP_bool(!isOnline)),
|
||||
rpcDone(&MainWidget::updateStatusDone),
|
||||
rpcFail(&MainWidget::updateStatusFail));
|
||||
}
|
||||
|
||||
const auto self = session().user();
|
||||
self->onlineTill = unixtime() + (isOnline ? (Global::OnlineUpdatePeriod() / 1000) : -1);
|
||||
@@ -3795,6 +3802,27 @@ void MainWidget::updateOnline(bool gotOtherOffline) {
|
||||
_onlineTimer.callOnce(updateIn);
|
||||
}
|
||||
|
||||
void MainWidget::updateStatusDone(const MTPBool &result) {
|
||||
Core::App().quitPreventFinished();
|
||||
}
|
||||
|
||||
bool MainWidget::updateStatusFail(const RPCError &error) {
|
||||
if (MTP::isDefaultHandledError(error)) {
|
||||
return false;
|
||||
}
|
||||
Core::App().quitPreventFinished();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MainWidget::isQuitPrevent() {
|
||||
if (!_lastWasOnline) {
|
||||
return false;
|
||||
}
|
||||
LOG(("MainWidget prevents quit, sending offline status..."));
|
||||
updateOnline();
|
||||
return true;
|
||||
}
|
||||
|
||||
void MainWidget::saveDraftToCloud() {
|
||||
_history->saveFieldToHistoryLocalDraft();
|
||||
|
||||
|
Reference in New Issue
Block a user