[libcamera-devel] [PATCH] libcamera: signal: Don't use reinterpret_cast<>() to perform downcasts
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Sat Jan 26 17:32:57 CET 2019
Use static_cast<>() instead of reinterpret_cast<>() to perform
downcasts, as reinterpret_cast<>() isn't meant (and guaranteed to be
safe) for that purpose.
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
include/libcamera/signal.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/include/libcamera/signal.h b/include/libcamera/signal.h
index 0b437a486c08..c375b0a878af 100644
--- a/include/libcamera/signal.h
+++ b/include/libcamera/signal.h
@@ -37,7 +37,7 @@ public:
SlotMember(T *obj, void(T::*func)(Args...))
: SlotBase<Args...>(obj), func_(func) { }
- void invoke(Args... args) { (reinterpret_cast<T *>(this->obj_)->*func_)(args...); }
+ void invoke(Args... args) { (static_cast<T *>(this->obj_)->*func_)(args...); }
private:
friend class Signal<Args...>;
@@ -111,7 +111,7 @@ public:
* match, so we can safely cast to SlotMember<T, Args>.
*/
if (slot->obj_ == object &&
- reinterpret_cast<SlotMember<T, Args...> *>(slot)->func_ == func) {
+ static_cast<SlotMember<T, Args...> *>(slot)->func_ == func) {
iter = slots_.erase(iter);
delete slot;
} else {
@@ -125,7 +125,7 @@ public:
for (auto iter = slots_.begin(); iter != slots_.end(); ) {
SlotBase<Args...> *slot = *iter;
if (slot->obj_ == nullptr &&
- reinterpret_cast<SlotStatic<Args...> *>(slot)->func_ == func) {
+ static_cast<SlotStatic<Args...> *>(slot)->func_ == func) {
iter = slots_.erase(iter);
delete slot;
} else {
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list