From 5ce50b5fc7ea7f29fecc02e94be0a4bb69a047e2 Mon Sep 17 00:00:00 2001 From: Thomas McGuire Date: Fri, 27 Jul 2012 13:19:11 +0200 Subject: [PATCH] Blackberry: Fix spurious position udpates in playlists Change-Id: I2652cab793034e55a4eb7e52bb534c22983d9517 Reviewed-by: Sean Harmer --- src/plugins/blackberry/bbmediaplayercontrol.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/blackberry/bbmediaplayercontrol.cpp b/src/plugins/blackberry/bbmediaplayercontrol.cpp index e37c880..1660098 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(); -- 2.7.4