diff --git a/td/telegram/UpdatesManager.cpp b/td/telegram/UpdatesManager.cpp index 51461cb3c..ea4cae858 100644 --- a/td/telegram/UpdatesManager.cpp +++ b/td/telegram/UpdatesManager.cpp @@ -2132,7 +2132,7 @@ void UpdatesManager::process_pending_qts_updates() { } void UpdatesManager::set_pts_gap_timeout(double timeout) { - if (!pts_gap_timeout_.has_timeout()) { + if (!pts_gap_timeout_.has_timeout() || timeout < pts_gap_timeout_.get_timeout()) { pts_gap_timeout_.set_callback(std::move(fill_pts_gap)); pts_gap_timeout_.set_callback_data(static_cast(td_)); pts_gap_timeout_.set_timeout_in(timeout); @@ -2140,7 +2140,7 @@ void UpdatesManager::set_pts_gap_timeout(double timeout) { } void UpdatesManager::set_seq_gap_timeout(double timeout) { - if (!seq_gap_timeout_.has_timeout()) { + if (!seq_gap_timeout_.has_timeout() || timeout < seq_gap_timeout_.get_timeout()) { seq_gap_timeout_.set_callback(std::move(fill_seq_gap)); seq_gap_timeout_.set_callback_data(static_cast(td_)); seq_gap_timeout_.set_timeout_in(timeout); @@ -2148,7 +2148,7 @@ void UpdatesManager::set_seq_gap_timeout(double timeout) { } void UpdatesManager::set_qts_gap_timeout(double timeout) { - if (!qts_gap_timeout_.has_timeout()) { + if (!qts_gap_timeout_.has_timeout() || timeout < qts_gap_timeout_.get_timeout()) { qts_gap_timeout_.set_callback(std::move(fill_qts_gap)); qts_gap_timeout_.set_callback_data(static_cast(td_)); qts_gap_timeout_.set_timeout_in(timeout);