mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2026-06-08 00:44:39 -04:00
Fix infinite loop problems in CAT error shutdown.
The TransceiverBase class attempts to turn off PTT on closedown, this was causing an infinite loop if the close down was due to a CAT communications error. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@4347 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
+10
-3
@@ -40,13 +40,14 @@ void TransceiverBase::start () noexcept
|
||||
{
|
||||
if (m_->state_.online ())
|
||||
{
|
||||
m_->state_.online (false);
|
||||
|
||||
// ensure PTT isn't left set
|
||||
do_ptt (false);
|
||||
do_post_ptt (false);
|
||||
|
||||
do_stop ();
|
||||
do_post_stop ();
|
||||
m_->state_.online (false);
|
||||
}
|
||||
do_start ();
|
||||
do_post_start ();
|
||||
@@ -73,6 +74,8 @@ void TransceiverBase::stop () noexcept
|
||||
{
|
||||
if (m_->state_.online ())
|
||||
{
|
||||
m_->state_.online (false);
|
||||
|
||||
// ensure PTT isn't left set
|
||||
do_ptt (false);
|
||||
do_post_ptt (false);
|
||||
@@ -80,7 +83,6 @@ void TransceiverBase::stop () noexcept
|
||||
|
||||
do_stop ();
|
||||
do_post_stop ();
|
||||
m_->state_.online (false);
|
||||
}
|
||||
catch (std::exception const& e)
|
||||
{
|
||||
@@ -265,8 +267,13 @@ void TransceiverBase::offline (QString const& reason)
|
||||
if (m_->state_.online ())
|
||||
{
|
||||
m_->state_.online (false);
|
||||
do_stop ();
|
||||
|
||||
// ensure PTT isn't left set
|
||||
do_ptt (false);
|
||||
do_post_ptt (false);
|
||||
}
|
||||
do_stop ();
|
||||
do_post_stop ();
|
||||
}
|
||||
catch (std::exception const& e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user