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>
This commit is contained in:
Samuel Nevala
2015-11-19 12:43:45 +02:00
parent bcdfb1e6b9
commit b80436a3e0

View File

@@ -66,13 +66,14 @@ QCamera::LockStatus QWinRTCameraLocksControl::lockStatus(QCamera::LockType lock)
void QWinRTCameraLocksControl::searchAndLock(QCamera::LockTypes locks) 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); QMetaObject::invokeMethod(this, "searchAndLockFocus", Qt::QueuedConnection);
} else { else
QWinRTCameraControl *cameraControl = qobject_cast<QWinRTCameraControl *>(parent());
Q_ASSERT(cameraControl);
cameraControl->emitError(QCamera::InvalidRequestError, QStringLiteral("Unsupported camera lock type.")); cameraControl->emitError(QCamera::InvalidRequestError, QStringLiteral("Unsupported camera lock type."));
}
} }
void QWinRTCameraLocksControl::unlock(QCamera::LockTypes locks) void QWinRTCameraLocksControl::unlock(QCamera::LockTypes locks)