libcamera: controls: Don't convert 32-bit and 64-bit implicitly
The ControlValue::get<T>() method verifies that the T type corresponds to the ControlValue type. It however accepts int32_t as a return type for 64-bit integer controls, and int64_t as a return type for 32-bit integer controls. There's no reason to do so anymore, make the type check stricter. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
@@ -187,7 +187,7 @@ const bool &ControlValue::get<bool>() const
|
||||
template<>
|
||||
const int32_t &ControlValue::get<int32_t>() const
|
||||
{
|
||||
ASSERT(type_ == ControlTypeInteger32 || type_ == ControlTypeInteger64);
|
||||
ASSERT(type_ == ControlTypeInteger32);
|
||||
|
||||
return integer32_;
|
||||
}
|
||||
@@ -195,7 +195,7 @@ const int32_t &ControlValue::get<int32_t>() const
|
||||
template<>
|
||||
const int64_t &ControlValue::get<int64_t>() const
|
||||
{
|
||||
ASSERT(type_ == ControlTypeInteger32 || type_ == ControlTypeInteger64);
|
||||
ASSERT(type_ == ControlTypeInteger64);
|
||||
|
||||
return integer64_;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user