mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-08-13 11:12:26 -04:00
Avoid an uninitialized COM pointer reference in the Omni-Rig i/f
Removed port locking as it doesn't seem to work.
This commit is contained in:
parent
6c2de129a7
commit
0c3fa17865
@ -162,6 +162,9 @@ int OmniRigTransceiver::do_start ()
|
|||||||
Q_ASSERT (rig_);
|
Q_ASSERT (rig_);
|
||||||
Q_ASSERT (!rig_->isNull ());
|
Q_ASSERT (!rig_->isNull ());
|
||||||
|
|
||||||
|
// COM/OLE exceptions get signaled
|
||||||
|
connect (&*rig_, SIGNAL (exception (int, QString, QString, QString)), this, SLOT (handle_COM_exception (int, QString, QString, QString)));
|
||||||
|
|
||||||
offline_timer_.reset (new QTimer); // instantiate here as
|
offline_timer_.reset (new QTimer); // instantiate here as
|
||||||
// constructor runs in wrong
|
// constructor runs in wrong
|
||||||
// thread
|
// thread
|
||||||
@ -175,12 +178,17 @@ int OmniRigTransceiver::do_start ()
|
|||||||
|
|
||||||
Q_ASSERT (port_);
|
Q_ASSERT (port_);
|
||||||
Q_ASSERT (!port_->isNull ());
|
Q_ASSERT (!port_->isNull ());
|
||||||
|
|
||||||
|
// COM/OLE exceptions get signaled
|
||||||
|
connect (&*port_, SIGNAL (exception (int, QString, QString, QString)), this, SLOT (handle_COM_exception (int, QString, QString, QString)));
|
||||||
|
|
||||||
TRACE_CAT ("OmniRigTransceiver", "OmniRig RTS state:" << port_->Rts ());
|
TRACE_CAT ("OmniRigTransceiver", "OmniRig RTS state:" << port_->Rts ());
|
||||||
|
|
||||||
if (!port_->Lock ()) // try to take exclusive use of the OmniRig serial port for PTT
|
// remove locking because it doesn't seem to work properly
|
||||||
{
|
// if (!port_->Lock ()) // try to take exclusive use of the OmniRig serial port for PTT
|
||||||
TRACE_CAT ("OmniRigTransceiver", "Failed to get exclusive use of serial port for PTT from OmniRig");
|
// {
|
||||||
}
|
// TRACE_CAT ("OmniRigTransceiver", "Failed to get exclusive use of serial port for PTT from OmniRig");
|
||||||
|
// }
|
||||||
|
|
||||||
// start off so we don't accidentally key the radio
|
// start off so we don't accidentally key the radio
|
||||||
if (TransceiverFactory::PTT_method_DTR == ptt_type_)
|
if (TransceiverFactory::PTT_method_DTR == ptt_type_)
|
||||||
@ -314,9 +322,9 @@ void OmniRigTransceiver::do_stop ()
|
|||||||
// destructor as destructor runs in
|
// destructor as destructor runs in
|
||||||
// wrong thread
|
// wrong thread
|
||||||
|
|
||||||
if (port_)
|
if (port_ && !port_->isNull ())
|
||||||
{
|
{
|
||||||
port_->Unlock (); // release serial port
|
// port_->Unlock (); // release serial port
|
||||||
port_->clear ();
|
port_->clear ();
|
||||||
port_.reset ();
|
port_.reset ();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user