aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/qmmp/soundcore.cpp9
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);;
}