From 5b2e2024526ded0e3fda77b2991be97e1da00dfa Mon Sep 17 00:00:00 2001 From: trim21 Date: Wed, 10 Jun 2026 02:15:32 +0800 Subject: [PATCH] fix: scheduler front()->time() -> front()->time after SchedulerHandle change SchedulerHandle::time is now a data member instead of a method, so front()->time() must be front()->time (no parentheses). --- src/display/manager.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/display/manager.cc b/src/display/manager.cc index 7f48a331..30a2f5b5 100644 --- a/src/display/manager.cc +++ b/src/display/manager.cc @@ -80,10 +80,14 @@ Manager::schedule_update(std::chrono::microseconds min_interval) { return; } - if (m_task_update.is_scheduled() && m_task_update.time() <= m_scheduler.front()->time()) + auto cached = torrent::this_thread::cached_time(); + m_scheduler.external_set_cached_time(cached); + auto next = cached + m_scheduler.next_timeout(cached); + + if (m_task_update.is_scheduled() && m_task_update.time_or_zero() <= next) return; - torrent::this_thread::scheduler()->update_wait_until(&m_task_update, std::max(m_scheduler.front()->time(), m_time_last_update + min_interval)); + torrent::this_thread::scheduler()->update_wait_until(&m_task_update, std::max(next, m_time_last_update + min_interval)); } }