summaryrefslogtreecommitdiffstats
path: root/src/plugins/directshow/camera/dscameracontrol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/directshow/camera/dscameracontrol.cpp')
-rw-r--r--src/plugins/directshow/camera/dscameracontrol.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/directshow/camera/dscameracontrol.cpp b/src/plugins/directshow/camera/dscameracontrol.cpp
index 8d923da9f..7a2b46a2c 100644
--- a/src/plugins/directshow/camera/dscameracontrol.cpp
+++ b/src/plugins/directshow/camera/dscameracontrol.cpp
@@ -51,8 +51,12 @@ DSCameraControl::DSCameraControl(QObject *parent)
, m_captureMode(QCamera::CaptureStillImage)
{
m_session = qobject_cast<DSCameraSession*>(parent);
- connect(m_session, SIGNAL(statusChanged(QCamera::Status)),
- this, SIGNAL(statusChanged(QCamera::Status)));
+ connect(m_session, &DSCameraSession::statusChanged,
+ [&](QCamera::Status status) {
+ if (status == QCamera::UnloadedStatus)
+ m_state = QCamera::UnloadedState;
+ emit statusChanged(status);
+ });
connect(m_session, &DSCameraSession::cameraError,
this, &DSCameraControl::error);
}