diff options
author | Samuel Nevala <samuel.nevala@intopalo.com> | 2015-11-19 12:43:45 +0200 |
---|---|---|
committer | Samuel Nevala <samuel.nevala@intopalo.com> | 2015-11-19 12:12:03 +0000 |
commit | b80436a3e0c0b4a28cd8b88d73ec897df52a8de2 (patch) | |
tree | a0fb72ae49abeba533495c8a89cf75e37a317be7 /src | |
parent | bcdfb1e6b9c81d7b63554531fc63084625d4f191 (diff) |
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/winrt/qwinrtcameralockscontrol.cpp | 11 |
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) |