[libcamera-devel] [PATCH] libcamera: signal: Fix return value template type of BoundMethodMember
Kieran Bingham
kieran.bingham at ideasonboard.com
Tue Apr 13 23:24:08 CEST 2021
Hi Laurent,
On 12/04/2021 23:58, Laurent Pinchart wrote:
> The BoundMethodMember instance created in Signal::connect() for
> receivers inheriting from the Object class incorrectly sets the return
> type to void instead of R. This doesn't cause any functional issue as
> the return type is ignored anyway for signals, but should be fixed
> nonetheless.
>
Hrmmm signal.h is some tough reading.
But indeed I can see this is the only place where R isn't used.
Reveiwed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> include/libcamera/signal.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/libcamera/signal.h b/include/libcamera/signal.h
> index 5bcd7a77c5f1..3233529a1275 100644
> --- a/include/libcamera/signal.h
> +++ b/include/libcamera/signal.h
> @@ -49,7 +49,7 @@ public:
> ConnectionType type = ConnectionTypeAuto)
> {
> Object *object = static_cast<Object *>(obj);
> - SignalBase::connect(new BoundMethodMember<T, void, Args...>(obj, object, func, type));
> + SignalBase::connect(new BoundMethodMember<T, R, Args...>(obj, object, func, type));
> }
>
> template<typename T, typename R, typename std::enable_if_t<!std::is_base_of<Object, T>::value> * = nullptr>
>
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list