[libcamera-devel] [PATCH] libcamera: signal: Fix return value template type of BoundMethodMember

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Apr 13 00:58:41 CEST 2021


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.

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,

Laurent Pinchart



More information about the libcamera-devel mailing list