Radar Product Model missing initial signals from manager

This commit is contained in:
Dan Paulat 2022-09-21 23:10:43 -05:00
parent 1e58cc29e5
commit 06e33001f7
2 changed files with 20 additions and 7 deletions

View file

@ -938,17 +938,29 @@ void RadarProductManager::UpdateAvailableProducts()
std::shared_ptr<RadarProductManager>
RadarProductManager::Instance(const std::string& radarSite)
{
std::lock_guard<std::mutex> guard(instanceMutex_);
std::shared_ptr<RadarProductManager> instance = nullptr;
bool instanceCreated = false;
if (!instanceMap_.contains(radarSite))
{
instanceMap_[radarSite] =
std::make_shared<RadarProductManager>(radarSite);
std::lock_guard<std::mutex> guard(instanceMutex_);
if (!instanceMap_.contains(radarSite))
{
instanceMap_[radarSite] =
std::make_shared<RadarProductManager>(radarSite);
instanceCreated = true;
}
instance = instanceMap_[radarSite];
}
if (instanceCreated)
{
emit RadarProductManagerNotifier::Instance().RadarProductManagerCreated(
radarSite);
}
return instanceMap_[radarSite];
return instance;
}
} // namespace manager

View file

@ -48,6 +48,8 @@ RadarProductModelImpl::RadarProductModelImpl(RadarProductModel* self) :
this,
[=](const std::string& radarSite)
{
logger_->debug("Adding radar site: {}", radarSite);
const QModelIndex rootIndex =
self_->createIndex(rootItem_->row(), 0, rootItem_.get());
const int rootChildren = rootItem_->child_count();
@ -134,8 +136,7 @@ RadarProductModelImpl::RadarProductModelImpl(RadarProductModel* self) :
self_->endInsertRows();
},
Qt::QueuedConnection);
},
Qt::QueuedConnection);
});
}
#include "radar_product_model.moc"