From 16044efbf3b32f62794e8abbf2ac681a2db59bc8 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sat, 8 Apr 2023 18:44:07 -0500 Subject: [PATCH] Updating refresh timer logic to be more robust - When re-enabling refresh, base new refresh time off existing data when any data is found, not just new data --- .../source/scwx/qt/manager/radar_product_manager.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/scwx-qt/source/scwx/qt/manager/radar_product_manager.cpp b/scwx-qt/source/scwx/qt/manager/radar_product_manager.cpp index 41741e99..c0a21821 100644 --- a/scwx-qt/source/scwx/qt/manager/radar_product_manager.cpp +++ b/scwx-qt/source/scwx/qt/manager/radar_product_manager.cpp @@ -598,7 +598,7 @@ void RadarProductManagerImpl::RefreshData( std::chrono::milliseconds interval = kRetryInterval_; - if (newObjects > 0) + if (totalObjects > 0) { std::string key = providerManager->provider_->FindLatestKey(); auto latestTime = @@ -614,10 +614,14 @@ void RadarProductManagerImpl::RefreshData( interval = kRetryInterval_; } - emit providerManager->NewDataAvailable( - providerManager->group_, providerManager->product_, latestTime); + if (newObjects > 0) + { + emit providerManager->NewDataAvailable(providerManager->group_, + providerManager->product_, + latestTime); + } } - else if (providerManager->refreshEnabled_ && totalObjects == 0) + else if (providerManager->refreshEnabled_) { logger_->info("[{}] No data found, disabling refresh", providerManager->name());