summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
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();