From 6e60a8714e35c257ca82abace807b5f45a220458 Mon Sep 17 00:00:00 2001 From: Christian Rauch Date: Fri, 21 Jun 2024 20:48:31 +0200 Subject: [PATCH] handle dynamic extend in array size check --- src/CameraNode.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/CameraNode.cpp b/src/CameraNode.cpp index 56739aa8..378b92b7 100644 --- a/src/CameraNode.cpp +++ b/src/CameraNode.cpp @@ -713,9 +713,12 @@ CameraNode::onParameterChange(const std::vector ¶meters) } const std::size_t extent = get_extent(id); - if ((value.isArray() && (extent > 0)) && value.numElements() != extent) { + if (value.isArray() && + (extent != libcamera::dynamic_extent) && + (value.numElements() != extent)) + { result.successful = false; - result.reason = parameter.get_name() + ": parameter dimensions mismatch, expected " + + result.reason = parameter.get_name() + ": array dimensions mismatch, expected " + std::to_string(extent) + ", got " + std::to_string(value.numElements()); return result; }