diff --git a/mainwindow.cpp b/mainwindow.cpp index 10d98cd60..db3c080d0 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -7614,7 +7614,7 @@ list1Done: m_foxQSO[hc].grid=t.mid(11,4); //hound grid rpt=t.mid(7,3); m_foxQSO[hc].sent=rpt; //Report to send him - m_foxQSO[hc].ncall=1; //Start a new Hound + m_foxQSO[hc].ncall=0; //Start a new Hound m_foxQSO[hc].nRR73 = 0; //Have not sent RR73 m_foxQSO[hc].tFoxRrpt = -1; //Have not received R+rpt m_foxQSO[hc].tFoxTxRR73 = -1; //Have not sent RR73 @@ -7633,6 +7633,7 @@ list2Done: if(i " + m_foxQSO[hc2].sent; } if(i=n2) { @@ -7660,6 +7661,7 @@ list2Done: if(i=m_maxStrikes) m_foxQSO[hc].ncall++; bool b1=((m_tFoxTx - m_foxQSO[hc].tFoxRrpt) > 2*m_maxFoxWait) and (m_foxQSO[hc].tFoxRrpt > 0); bool b2=((m_tFoxTx - m_foxQSO[hc].tFoxTxRR73) > m_maxFoxWait) and (m_foxQSO[hc].tFoxTxRR73>0); - bool b3=(m_foxQSO[hc].ncall > m_maxStrikes); + bool b3=(m_foxQSO[hc].ncall >= m_maxStrikes+m_maxFoxWait); bool b4=(m_foxQSO[hc].nRR73 > m_maxStrikes); if(b1 or b2 or b3 or b4) { qDebug() << m_tFoxTx << "Rem:" << hc << m_foxQSO[hc].tFoxRrpt << m_foxQSO[hc].tFoxTxRR73 << m_foxQSO[hc].ncall << m_foxQSO[hc].nRR73 - << m_maxFoxWait; + << m_maxFoxWait << b1 << b2 << b3 << b4; m_foxQSO.remove(hc); m_foxQSOinProgress.removeOne(hc); }