summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorThomas McGuire <thomas.mcguire.qnx@kdab.com>2012-07-27 13:19:11 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-30 15:27:31 +0200
commit5ce50b5fc7ea7f29fecc02e94be0a4bb69a047e2 (patch)
treee79b3f13628bdd6e810c6250a55dbb2b9950b907 /src/plugins
parent637768d0194fda5763bb9844901164d5c181c588 (diff)
Blackberry: Fix spurious position udpates in playlists
Change-Id: I2652cab793034e55a4eb7e52bb534c22983d9517 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/blackberry/bbmediaplayercontrol.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/blackberry/bbmediaplayercontrol.cpp b/src/plugins/blackberry/bbmediaplayercontrol.cpp
index e37c880fd..166009826 100644
--- a/src/plugins/blackberry/bbmediaplayercontrol.cpp
+++ b/src/plugins/blackberry/bbmediaplayercontrol.cpp
@@ -557,7 +557,12 @@ bool BbMediaPlayerControl::nativeEventFilter(const QByteArray &eventType, void *
// Prevent spurious position change events from overriding our own position, for example
// when setting the position to 0 in stop().
- if (m_state != QMediaPlayer::PlayingState)
+ // Also, don't change the position while we're loading the media, as then play() would
+ // set a wrong initial position.
+ if (m_state != QMediaPlayer::PlayingState ||
+ m_mediaStatus == QMediaPlayer::LoadingMedia ||
+ m_mediaStatus == QMediaPlayer::NoMedia ||
+ m_mediaStatus == QMediaPlayer::InvalidMedia)
return false;
const qint64 newPosition = QString::fromLatin1(mmrenderer_event_get_position(event)).toLongLong();