diff options
author | Lev Zelenskiy <lev.zelenskiy@nokia.com> | 2012-04-18 13:11:53 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-20 08:47:10 +0200 |
commit | f1c4093f3710c8c061a68afbd52d0eafe0d6fc83 (patch) | |
tree | f73ef32b6e2a2a1f9c3c7bef4948f84750c8df9e /src/multimedia/audio/qaudioprobe.cpp | |
parent | c9749cf7ac7dd2028b93ec40a623364bdc00ae29 (diff) |
Disconnect probe control in case source was destroyed.
Change-Id: Ibc4583af8acf7d28ee2504f246840a26e3a527be
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Reviewed-by: Mithra Pattison <mithra.pattison@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'src/multimedia/audio/qaudioprobe.cpp')
-rw-r--r-- | src/multimedia/audio/qaudioprobe.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/multimedia/audio/qaudioprobe.cpp b/src/multimedia/audio/qaudioprobe.cpp index 6dd7d7258..8e7aed4a0 100644 --- a/src/multimedia/audio/qaudioprobe.cpp +++ b/src/multimedia/audio/qaudioprobe.cpp @@ -125,6 +125,14 @@ bool QAudioProbe::setSource(QMediaObject *source) // 1) disconnect from current source if necessary // 2) see if new one has the probe control // 3) connect if so + + // in case source was destroyed but probe control is still valid + if (!d->source && d->probee) { + disconnect(d->probee.data(), SIGNAL(audioBufferProbed(QAudioBuffer)), this, SIGNAL(audioBufferProbed(QAudioBuffer))); + disconnect(d->probee.data(), SIGNAL(flush()), this, SIGNAL(flush())); + d->probee.clear(); + } + if (source != d->source.data()) { if (d->source) { Q_ASSERT(d->probee); |