diff options
author | Paul Elder <paul.elder@ideasonboard.com> | 2024-03-08 11:42:18 +0100 |
---|---|---|
committer | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2024-03-11 14:50:14 +0000 |
commit | 01935edbba586df820db002671da7bd0a348ad8e (patch) | |
tree | 2d9b5911aaec8fec48a615e36f815a1a46e6adce | |
parent | cdb07a02179ee557bc35234ea852eceff35a4980 (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.cpp | 5 |
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; } |