On 24/01/2019 21:07, Black Michael via wsjt-devel wrote:
If appears to me that the new_state variable is passed by reference to
the update event and it may be losing scope before being handled.
Hi Mike,
I doubt that. The signal is not crossing a thread boundary so it will
simply be a function call. If it did cross a thread boundary then the
object is serialized so is effectively passed by value. Either way the
scope of the object should be fine.
If you want to be certain you can simply change the signal definition in
Transceiver.hpp to take that argument by value for a test, no other code
will need changing as it is equivalent.
// rig state changed
Q_SIGNAL void update (Transceiver::TransceiverState,
unsigned sequence_number) const;
Debug trace lines missing when there is a program crash is likely to be
a buffer flushing issue, is it a crash you are trying to debug?
Are you sure your analysis is correct, the trace message you show above
is coming from the Transceiver instance used for PTT wrapped one used
for rig control, that setup is due to RTS or DTR on a second serial port
being selected for PTT. That seems an unlikely setup for a Flex Radio SDR.
73
Bill
G4WJS.
_______________________________________________
wsjt-devel mailing list
wsjt-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wsjt-devel