summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-01-26 18:29:41 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-01-27 17:50:29 +0200
commiteae59ca2cdc68236136685c52da17f6c37515d59 (patch)
tree950c0d56f64e8ad6670e6638f19a1485f8e0b5d0
parentaae0b7ffb1123103f162bdf566e2d4bce5cbf774 (diff)
libcamera: signal: Don't use reinterpret_cast<>() to perform downcasts
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@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
-rw-r--r--include/libcamera/signal.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/libcamera/signal.h b/include/libcamera/signal.h
index 0b437a48..c375b0a8 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 {