diff options
Diffstat (limited to 'src/qmmpui/mediaplayer.cpp')
| -rw-r--r-- | src/qmmpui/mediaplayer.cpp | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/qmmpui/mediaplayer.cpp b/src/qmmpui/mediaplayer.cpp index 35f52e6e0..c77fd1a09 100644 --- a/src/qmmpui/mediaplayer.cpp +++ b/src/qmmpui/mediaplayer.cpp @@ -74,17 +74,25 @@ bool MediaPlayer::isRepeatable() const void MediaPlayer::play() { + QString s; m_pl_manager->currentPlayList()->doCurrentVisibleRequest(); + if(m_pl_manager->currentPlayList()->count() > 0) + s = m_pl_manager->currentPlayList()->currentItem()->url(); + if (m_core->state() == Qmmp::Paused) { - m_core->pause(); - return; + if(m_core->url() == s) + { + m_core->pause(); + return; + } + else + { + stop(); + qApp->processEvents(); + } } - if (m_pl_manager->currentPlayList()->count() == 0) - return; - - QString s = m_pl_manager->currentPlayList()->currentItem()->url(); if (s.isEmpty()) { m_nextUrl.clear(); |
