Use the backend to notify the QCamera state changes.
authorYoann Lopes <yoann.lopes@digia.com>
Thu, 5 Dec 2013 16:47:49 +0000 (17:47 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 5 Dec 2013 21:55:02 +0000 (22:55 +0100)
We were emitting the stateChanged() signal no matter what was actually
done by the backend. QCamera now emits this signal only if the backend
actually changed the state.

Task-number: QTBUG-35070
Change-Id: I9f32361cd815dbcc366ad30033692f9ae732ec46
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
src/multimedia/camera/qcamera.cpp

index 5b0f0d1..e91a031 100644 (file)
@@ -175,8 +175,6 @@ void QCameraPrivate::_q_error(int error, const QString &errorString)
 
 void QCameraPrivate::setState(QCamera::State newState)
 {
-    Q_Q(QCamera);
-
     unsetError();
 
     if (!control) {
@@ -184,13 +182,8 @@ void QCameraPrivate::setState(QCamera::State newState)
         return;
     }
 
-    if (state == newState)
-        return;
-
     restartPending = false;
-    state = newState;
-    control->setState(state);
-    emit q->stateChanged(state);
+    control->setState(newState);
 }
 
 void QCameraPrivate::_q_updateState(QCamera::State newState)
@@ -203,7 +196,6 @@ void QCameraPrivate::_q_updateState(QCamera::State newState)
         return;
 
     if (newState != state) {
-        qDebug() << "Camera state changed:" << newState;
         state = newState;
         emit q->stateChanged(state);
     }