diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/qmmp/soundcore.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/qmmp/soundcore.cpp b/src/qmmp/soundcore.cpp index e03debe5f..52e20dd72 100644 --- a/src/qmmp/soundcore.cpp +++ b/src/qmmp/soundcore.cpp @@ -83,7 +83,7 @@ bool SoundCore::play(const QString &source, bool queue, qint64 offset) m_sources.removeAll(s); s->deleteLater(); if(m_handler->state() == Qmmp::Stopped || m_handler->state() == Qmmp::Buffering) - m_handler->dispatch(Qmmp::NormalError); + m_handler->dispatch(Qmmp::NormalError); return false; } if(m_handler->state() == Qmmp::Stopped) @@ -317,6 +317,8 @@ void SoundCore::startNextEngine() { if(m_sources.isEmpty()) m_nextState = NO_ENGINE; + else if(!m_sources.first()->isReady() && state() == Qmmp::Stopped) + m_handler->dispatch(Qmmp::Buffering); break; } case ANOTHER_ENGINE: @@ -370,7 +372,6 @@ bool SoundCore::event(QEvent *e) emit nextTrackRequest(); else if(e->type() == EVENT_FINISHED) emit finished(); - else - return QObject::event(e); - return true; + + return QObject::event(e);; } |
