diff --git a/src/AudioCapture.cpp b/src/AudioCapture.cpp index 9cfa996..087d450 100644 --- a/src/AudioCapture.cpp +++ b/src/AudioCapture.cpp @@ -230,8 +230,11 @@ bool AudioCapture::startSource(bool monitoring, QString *error) { }); }); - connect(m_device, &QIODevice::readyRead, this, [this] { - const QByteArray chunk = m_device->readAll(); + const QPointer device = m_device; + connect(m_device, &QIODevice::readyRead, this, [this, device] { + if (!device || device != m_device) + return; + const QByteArray chunk = device->readAll(); if (m_monitoring) { emit levelChanged(normalizedAudioPeak(chunk, m_format)); return;