Could you printline calls to addSignalQualityListener / removeSignalQualityListener and startTimer/killTimer/timerEvent calls in VinylControlManager?
WSpinny registers itself on showEvent and unregisters itself on hideEvent. If there are no signal listeners registered with VinylControlManager then it stops reading from the signal quality FIFO and updating listeners.
Since that log message is spewing the VinylControlProcessor clearly believes signal quality reporting is still enabled. If everything was working properly VinylControlProcessor would still be reading from the FIFO on a timer but since the FIFO is overflowing that suggests either its timer is not active (which should in turn mean no signal quality listeners are active) or its timer is not firing frequently enough to process incoming quality reports (unlikely).
add/remove/show/hide/timer events all (should be) in the main thread so it's probably not a concurrency issue
Possible causes:
- Our volatile bool VinylControlProcessor::m_bReportSignalQuality isn't working as intended and the processors are not getting the message to stop writing signal quality reports.
- Some logic error with how WSpinny and VinylSignalWidget register/unregister themselves.
- Something else? The manager's timer event shouldn't be affected by being off screen or not... it would be very strange (and other stuff would be broken) if Qt/X11 stopped servicing timers for off-screen windows.
Could you printline calls to addSignalQualit yListener / removeSignalQua lityListener and startTimer/ killTimer/ timerEvent calls in VinylControlMan ager?
WSpinny registers itself on showEvent and unregisters itself on hideEvent. If there are no signal listeners registered with VinylControlManager then it stops reading from the signal quality FIFO and updating listeners.
Since that log message is spewing the VinylControlPro cessor clearly believes signal quality reporting is still enabled. If everything was working properly VinylControlPro cessor would still be reading from the FIFO on a timer but since the FIFO is overflowing that suggests either its timer is not active (which should in turn mean no signal quality listeners are active) or its timer is not firing frequently enough to process incoming quality reports (unlikely).
add/remove/ show/hide/ timer events all (should be) in the main thread so it's probably not a concurrency issue
Possible causes: cessor: :m_bReportSigna lQuality isn't working as intended and the processors are not getting the message to stop writing signal quality reports.
- Our volatile bool VinylControlPro
- Some logic error with how WSpinny and VinylSignalWidget register/unregister themselves.
- Something else? The manager's timer event shouldn't be affected by being off screen or not... it would be very strange (and other stuff would be broken) if Qt/X11 stopped servicing timers for off-screen windows.