diff --git a/include/libcamera/signal.h b/include/libcamera/signal.h index 0b437a486..c375b0a87 100644 --- a/include/libcamera/signal.h +++ b/include/libcamera/signal.h @@ -37,7 +37,7 @@ public: SlotMember(T *obj, void(T::*func)(Args...)) : SlotBase(obj), func_(func) { } - void invoke(Args... args) { (reinterpret_cast(this->obj_)->*func_)(args...); } + void invoke(Args... args) { (static_cast(this->obj_)->*func_)(args...); } private: friend class Signal; @@ -111,7 +111,7 @@ public: * match, so we can safely cast to SlotMember. */ if (slot->obj_ == object && - reinterpret_cast *>(slot)->func_ == func) { + static_cast *>(slot)->func_ == func) { iter = slots_.erase(iter); delete slot; } else { @@ -125,7 +125,7 @@ public: for (auto iter = slots_.begin(); iter != slots_.end(); ) { SlotBase *slot = *iter; if (slot->obj_ == nullptr && - reinterpret_cast *>(slot)->func_ == func) { + static_cast *>(slot)->func_ == func) { iter = slots_.erase(iter); delete slot; } else {