From 4ab6ef030e347ac33167883c246c5a4d4f771197 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Mon, 13 Apr 2020 17:53:36 +0100 Subject: [PATCH] Fix bug. --- RewriteDynTGRF.cpp | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/RewriteDynTGRF.cpp b/RewriteDynTGRF.cpp index 1aa8796..4e56c48 100644 --- a/RewriteDynTGRF.cpp +++ b/RewriteDynTGRF.cpp @@ -146,17 +146,23 @@ PROCESS_RESULT CRewriteDynTGRF::process(CDMRData& data, bool trace) void CRewriteDynTGRF::tgChange(unsigned int slot, unsigned int tg) { - if (slot == m_slot && tg == m_discPC && m_currentTG != 0U) { - m_currentTG = 0U; - m_rewriteNet->setCurrentTG(0U); - if (m_voice != NULL) - m_voice->unlinked(); + if (slot == m_slot && tg == m_discPC) { + if (m_currentTG != 0U) { + m_currentTG = 0U; + m_rewriteNet->setCurrentTG(0U); + if (m_voice != NULL) + m_voice->unlinked(); + } + return; } - if (slot == m_slot && tg >= m_fromTGStart && tg <= m_fromTGEnd && m_currentTG != tg) { - m_currentTG = tg; - m_rewriteNet->setCurrentTG(tg); - if (m_voice != NULL) - m_voice->linkedTo(tg); + if (slot == m_slot && tg >= m_fromTGStart && tg <= m_fromTGEnd) { + if (m_currentTG != tg) { + m_currentTG = tg; + m_rewriteNet->setCurrentTG(tg); + if (m_voice != NULL) + m_voice->linkedTo(tg); + } + return; } } \ No newline at end of file