summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Nevala <samuel.nevala@intopalo.com>2015-11-19 12:43:45 +0200
committerSamuel Nevala <samuel.nevala@intopalo.com>2015-11-19 12:12:03 +0000
commitb80436a3e0c0b4a28cd8b88d73ec897df52a8de2 (patch)
treea0fb72ae49abeba533495c8a89cf75e37a317be7
parentbcdfb1e6b9c81d7b63554531fc63084625d4f191 (diff)
downloadqtmultimedia-b80436a3e0c0b4a28cd8b88d73ec897df52a8de2.tar.gz
winrt: Early return from searchAndLock if camera not active.
Change-Id: If2279db9cffbc5d06f0d662b6f942b6985034675 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com> Reviewed-by: Matti Malinen <matti.malinen@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
-rw-r--r--src/plugins/winrt/qwinrtcameralockscontrol.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/winrt/qwinrtcameralockscontrol.cpp b/src/plugins/winrt/qwinrtcameralockscontrol.cpp
index 11e576be0..8528d16fb 100644
--- a/src/plugins/winrt/qwinrtcameralockscontrol.cpp
+++ b/src/plugins/winrt/qwinrtcameralockscontrol.cpp
@@ -66,13 +66,14 @@ QCamera::LockStatus QWinRTCameraLocksControl::lockStatus(QCamera::LockType lock)
void QWinRTCameraLocksControl::searchAndLock(QCamera::LockTypes locks)
{
- if (locks.testFlag(QCamera::LockFocus)) {
+ QWinRTCameraControl *cameraControl = qobject_cast<QWinRTCameraControl *>(parent());
+ Q_ASSERT(cameraControl);
+ if (cameraControl->state() != QCamera::ActiveState)
+ return;
+ else if (locks.testFlag(QCamera::LockFocus))
QMetaObject::invokeMethod(this, "searchAndLockFocus", Qt::QueuedConnection);
- } else {
- QWinRTCameraControl *cameraControl = qobject_cast<QWinRTCameraControl *>(parent());
- Q_ASSERT(cameraControl);
+ else
cameraControl->emitError(QCamera::InvalidRequestError, QStringLiteral("Unsupported camera lock type."));
- }
}
void QWinRTCameraLocksControl::unlock(QCamera::LockTypes locks)