summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2024-03-08 11:42:18 +0100
committerKieran Bingham <kieran.bingham@ideasonboard.com>2024-03-11 14:50:14 +0000
commit01935edbba586df820db002671da7bd0a348ad8e (patch)
tree2d9b5911aaec8fec48a615e36f815a1a46e6adce
parentcdb07a02179ee557bc35234ea852eceff35a4980 (diff)
cam: capture_script: Make parseRectangles work for non-array
parseRectangles currently always parses Rectangle controls as an array of Rectangles. This causes non-array Rectangle controls to not be parsed correctly, as when the ControlValue is get()ed, the non-array assertion will fail. Set the ControlValue with a single Rectangle in case a single Rectangle has been specified in the yaml capture script to fix that. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/apps/cam/capture_script.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/apps/cam/capture_script.cpp b/src/apps/cam/capture_script.cpp
index 062a7258..1215713f 100644
--- a/src/apps/cam/capture_script.cpp
+++ b/src/apps/cam/capture_script.cpp
@@ -351,7 +351,10 @@ ControlValue CaptureScript::parseRectangles()
}
ControlValue controlValue;
- controlValue.set(Span<const Rectangle>(rectangles));
+ if (rectangles.size() == 1)
+ controlValue.set(rectangles.at(0));
+ else
+ controlValue.set(Span<const Rectangle>(rectangles));
return controlValue;
}