diff options
author | Thomas McGuire <thomas.mcguire.qnx@kdab.com> | 2012-07-27 13:19:11 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-30 15:27:31 +0200 |
commit | 5ce50b5fc7ea7f29fecc02e94be0a4bb69a047e2 (patch) | |
tree | e79b3f13628bdd6e810c6250a55dbb2b9950b907 /src/plugins | |
parent | 637768d0194fda5763bb9844901164d5c181c588 (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.cpp | 7 |
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(); |