aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qmmp/qmmpaudioengine.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/qmmp/qmmpaudioengine.cpp b/src/qmmp/qmmpaudioengine.cpp
index e6196f89d..404dd033e 100644
--- a/src/qmmp/qmmpaudioengine.cpp
+++ b/src/qmmp/qmmpaudioengine.cpp
@@ -84,8 +84,10 @@ void QmmpAudioEngine::clearDecoders()
if(m_decoder)
{
m_inputs.take(m_decoder)->deleteLater ();
- delete m_decoder;
+ Decoder *d = m_decoder;
m_decoder = 0;
+ delete d;
+
}
while(!m_decoders.isEmpty())
{
@@ -414,8 +416,9 @@ void QmmpAudioEngine::run()
else if(!m_decoders.isEmpty())
{
m_inputs.take(m_decoder)->deleteLater ();
- delete m_decoder;
+ Decoder *d = m_decoder;
m_decoder = m_decoders.dequeue();
+ delete d;
//m_seekTime = m_inputs.value(m_decoder)->offset();
m_replayGain->setReplayGainInfo(m_decoder->replayGainInfo());
//use current output if possible