diff options
author | Naushir Patuck <naush@raspberrypi.com> | 2022-07-20 09:15:34 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2022-07-20 13:25:06 +0300 |
commit | 8b02645845bf404fba83910818b285b652f14f89 (patch) | |
tree | 8a8aa681d91b8971fdaa1a346941451a3a272d03 /include | |
parent | 4d22621ec11a065b1819f6268335cae81dd50986 (diff) |
libcamera: controls: Suppress error message from ControlList::get()
Now that ControlList::get() returns a std::optional<T> to handle missing
controls, the error log message in the call to ControlList::find() is
unnecessary and likely invalid.
Fix this by avoiding the call to ControlList::find() from
ControlList::get() and replacing with a call to the underlying
std::unordered_map::find().
Fixes: 1c4d48018505 ("libcamera: controls: Use std::optional to handle invalid control values")
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/libcamera/controls.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/libcamera/controls.h b/include/libcamera/controls.h index 85a56e62..7920abba 100644 --- a/include/libcamera/controls.h +++ b/include/libcamera/controls.h @@ -375,11 +375,12 @@ public: template<typename T> std::optional<T> get(const Control<T> &ctrl) const { - const ControlValue *val = find(ctrl.id()); - if (!val) + const auto entry = controls_.find(ctrl.id()); + if (entry == controls_.end()) return std::nullopt; - return val->get<T>(); + const ControlValue &val = entry->second; + return val.get<T>(); } template<typename T, typename V> |