From f5a5d83f4b781167a0347564818f5c3ed948beae Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Mon, 8 Apr 2024 22:35:42 -0400 Subject: [PATCH] fix potential issue with full group affiliation update; --- src/host/dmr/Slot.cpp | 8 ++++++-- src/host/nxdn/Control.cpp | 8 ++++++-- src/host/p25/Control.cpp | 8 ++++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/host/dmr/Slot.cpp b/src/host/dmr/Slot.cpp index 1caea09f..15e95358 100644 --- a/src/host/dmr/Slot.cpp +++ b/src/host/dmr/Slot.cpp @@ -503,8 +503,12 @@ void Slot::clock() if (m_adjSiteUpdateTimer.isRunning() && m_adjSiteUpdateTimer.hasExpired()) { if (m_rfState == RS_RF_LISTENING && m_netState == RS_NET_IDLE) { m_control->writeAdjSSNetwork(); - if (m_network != nullptr) - m_network->announceAffiliationUpdate(m_affiliations->grpAffTable()); + if (m_network != nullptr) { + if (m_affiliations->grpAffSize() > 0) { + auto affs = m_affiliations->grpAffTable(); + m_network->announceAffiliationUpdate(affs); + } + } m_adjSiteUpdateTimer.start(); } } diff --git a/src/host/nxdn/Control.cpp b/src/host/nxdn/Control.cpp index 796b2d83..88756a4c 100644 --- a/src/host/nxdn/Control.cpp +++ b/src/host/nxdn/Control.cpp @@ -567,8 +567,12 @@ void Control::clock(uint32_t ms) m_adjSiteUpdate.clock(ms); if (m_adjSiteUpdate.isRunning() && m_adjSiteUpdate.hasExpired()) { if (m_rfState == RS_RF_LISTENING && m_netState == RS_NET_IDLE) { - if (m_network != nullptr) - m_network->announceAffiliationUpdate(m_affiliations.grpAffTable()); + if (m_network != nullptr) { + if (m_affiliations.grpAffSize() > 0) { + auto affs = m_affiliations.grpAffTable(); + m_network->announceAffiliationUpdate(affs); + } + } m_adjSiteUpdate.start(); } } diff --git a/src/host/p25/Control.cpp b/src/host/p25/Control.cpp index 0d3824ef..41abaa59 100644 --- a/src/host/p25/Control.cpp +++ b/src/host/p25/Control.cpp @@ -821,8 +821,12 @@ void Control::clock(uint32_t ms) if (m_adjSiteUpdate.isRunning() && m_adjSiteUpdate.hasExpired()) { if (m_rfState == RS_RF_LISTENING && m_netState == RS_NET_IDLE) { m_control->writeAdjSSNetwork(); - if (m_network != nullptr) - m_network->announceAffiliationUpdate(m_affiliations.grpAffTable()); + if (m_network != nullptr) { + if (m_affiliations.grpAffSize() > 0) { + auto affs = m_affiliations.grpAffTable(); + m_network->announceAffiliationUpdate(affs); + } + } m_adjSiteUpdate.start(); } }