From 9011296e65972f28db10822a3825e6890216482e Mon Sep 17 00:00:00 2001 From: Ling Hu Date: Fri, 14 Oct 2011 10:36:49 +1000 Subject: Init mediaobject at classBegin rather than componentComplete Since we use an explicit backgroundaudio class, there is no need to wait for other property to determine the mediaobject type. So it is better to init the mediaobject at classBegin to prevent being accessed before mediaobject initialized. Change-Id: Ia55b8b4c1ab70cc0acbf6f49bcb3e20bdb813a88 Reviewed-by: Michael Goddard Reviewed-by: Jonas Rabbe Reviewed-by: Dmytro Poplavskiy --- src/imports/multimedia/qdeclarativebackgroundaudio.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/imports/multimedia/qdeclarativebackgroundaudio.cpp b/src/imports/multimedia/qdeclarativebackgroundaudio.cpp index dee3242..cd163d8 100644 --- a/src/imports/multimedia/qdeclarativebackgroundaudio.cpp +++ b/src/imports/multimedia/qdeclarativebackgroundaudio.cpp @@ -43,10 +43,6 @@ #include void QDeclarativeBackgroundAudio::classBegin() -{ -} - -void QDeclarativeBackgroundAudio::componentComplete() { setObject(this, Q_MEDIASERVICE_BACKGROUNDMEDIAPLAYER); if (m_mediaService) { @@ -56,15 +52,21 @@ void QDeclarativeBackgroundAudio::componentComplete() if (m_backgroundPlaybackControl) { connect(m_backgroundPlaybackControl, SIGNAL(acquired()), this, SIGNAL(acquiredChanged())); connect(m_backgroundPlaybackControl, SIGNAL(lost()), this, SIGNAL(acquiredChanged())); - if (!m_contextId.isEmpty()) - m_backgroundPlaybackControl->setContextId(m_contextId); } else { qWarning("can not get QMediaBackgroundPlaybackControl!"); } } else { qWarning("Unable to get any background mediaplayer!"); } - QDeclarativeMediaBase::componentComplete(); + emit mediaObjectChanged(); + + //Note: we are not calling QDeclarativeAudio::classBegin here, + //otherwise there will be conflict for setObject(). +} + +void QDeclarativeBackgroundAudio::componentComplete() +{ + QDeclarativeAudio::componentComplete(); } QDeclarativeBackgroundAudio::QDeclarativeBackgroundAudio(QObject *parent) -- cgit v1.2.3