From ec06cc62e116c00646184d58fe7c526c088a18cc Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sun, 22 Jun 2025 17:50:36 -0500 Subject: [PATCH] Don't query for available products when disabling product refresh --- .../scwx/qt/manager/radar_product_manager.cpp | 47 +++++++++++-------- 1 file changed, 27 insertions(+), 20 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 d2bc15d0..b12df441 100644 --- a/scwx-qt/source/scwx/qt/manager/radar_product_manager.cpp +++ b/scwx-qt/source/scwx/qt/manager/radar_product_manager.cpp @@ -683,29 +683,36 @@ void RadarProductManager::EnableRefresh(common::RadarProductGroup group, p->GetLevel3ProviderManager(product); // Only enable refresh on available products - boost::asio::post( - p->threadPool_, - [=, this]() - { - try + if (enabled) + { + boost::asio::post( + p->threadPool_, + [=, this]() { - providerManager->provider_->RequestAvailableProducts(); - auto availableProducts = - providerManager->provider_->GetAvailableProducts(); - - if (std::find(std::execution::par, - availableProducts.cbegin(), - availableProducts.cend(), - product) != availableProducts.cend()) + try { - p->EnableRefresh(uuid, {providerManager}, enabled); + providerManager->provider_->RequestAvailableProducts(); + auto availableProducts = + providerManager->provider_->GetAvailableProducts(); + + if (std::find(std::execution::par, + availableProducts.cbegin(), + availableProducts.cend(), + product) != availableProducts.cend()) + { + p->EnableRefresh(uuid, {providerManager}, enabled); + } } - } - catch (const std::exception& ex) - { - logger_->error(ex.what()); - } - }); + catch (const std::exception& ex) + { + logger_->error(ex.what()); + } + }); + } + else + { + p->EnableRefresh(uuid, {providerManager}, enabled); + } } }