diff options
author | Liang Qi <liang.qi@qt.io> | 2016-08-17 10:48:30 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-08-17 10:48:30 +0200 |
commit | b4f2dc4f62b2cb4bd9c43de56bbfd0024404c190 (patch) | |
tree | b4a71b9a45b1c1c3adf21cdc49de68f9c86b1e9c /src/multimedia/playback/qmediaplayer.cpp | |
parent | 393602150d1f3eec25252aa40045f9e24ae5329b (diff) | |
parent | 820205e604a5f281238c23464638fdff72b969d1 (diff) |
Merge remote-tracking branch 'origin/5.7' into dev
Change-Id: Ib8d05d6e21c7beb19f618cd1edc52d248b1e43b8
Diffstat (limited to 'src/multimedia/playback/qmediaplayer.cpp')
-rw-r--r-- | src/multimedia/playback/qmediaplayer.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp index f52041e5f..c5261921a 100644 --- a/src/multimedia/playback/qmediaplayer.cpp +++ b/src/multimedia/playback/qmediaplayer.cpp @@ -859,17 +859,19 @@ void QMediaPlayer::play() } //if playlist control is available, the service should advance itself - if (d->rootMedia.playlist() && d->rootMedia.playlist()->currentIndex() == -1 && !d->rootMedia.playlist()->isEmpty()) { - + if (d->rootMedia.playlist() && !d->rootMedia.playlist()->isEmpty()) { // switch to playing state if (d->state != QMediaPlayer::PlayingState) d->_q_stateChanged(QMediaPlayer::PlayingState); - if (d->playlist != d->rootMedia.playlist()) - d->setPlaylist(d->rootMedia.playlist()); - Q_ASSERT(d->playlist == d->rootMedia.playlist()); - emit currentMediaChanged(d->rootMedia); - d->playlist->setCurrentIndex(0); + if (d->rootMedia.playlist()->currentIndex() == -1) { + if (d->playlist != d->rootMedia.playlist()) + d->setPlaylist(d->rootMedia.playlist()); + Q_ASSERT(d->playlist == d->rootMedia.playlist()); + + emit currentMediaChanged(d->rootMedia); + d->playlist->setCurrentIndex(0); + } } // Reset error conditions |