aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/qmmp/statehandler.cpp3
-rw-r--r--src/qmmpui/mediaplayer.cpp14
2 files changed, 11 insertions, 6 deletions
diff --git a/src/qmmp/statehandler.cpp b/src/qmmp/statehandler.cpp
index 33970fea3..ac9511a14 100644
--- a/src/qmmp/statehandler.cpp
+++ b/src/qmmp/statehandler.cpp
@@ -133,9 +133,10 @@ void StateHandler::dispatch(Qmmp::State state)
m_frequency = 0;
m_precision = 0;
m_channels = 0;
- m_sendAboutToFinish = true;
m_metaData.clear();
}
+ if(state == Qmmp::Playing)
+ m_sendAboutToFinish = true;
if (m_state != state)
{
QStringList states;
diff --git a/src/qmmpui/mediaplayer.cpp b/src/qmmpui/mediaplayer.cpp
index 9b4d9549d..594ecdd34 100644
--- a/src/qmmpui/mediaplayer.cpp
+++ b/src/qmmpui/mediaplayer.cpp
@@ -200,13 +200,17 @@ void MediaPlayer::playNext()
void MediaPlayer::updateNextUrl()
{
+ m_nextUrl.clear();
if(m_pl_manager->currentPlayList()->nextItem() && !isRepeatable())
{
qDebug("MediaPlayer: sending next url");
- m_core->play(m_pl_manager->currentPlayList()->nextItem()->url(), true);
- m_nextUrl = m_pl_manager->currentPlayList()->nextItem()->url();
- qDebug("MediaPlayer: sending next url - done");
+ bool ok = m_core->play(m_pl_manager->currentPlayList()->nextItem()->url(), true);
+ if(ok)
+ {
+ m_nextUrl = m_pl_manager->currentPlayList()->nextItem()->url();
+ qDebug("MediaPlayer: sending next url - done");
+ }
+ else
+ qDebug("MediaPlayer: sending next url - failed");
}
- else
- m_nextUrl.clear();
}