diff options
| -rw-r--r-- | src/qmmp/qmmpaudioengine.cpp | 7 |
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 |
