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