Fixed a possible crash when using a slot m_holder = 0

This commit is contained in:
Henrik Kinnunen 2011-02-20 15:48:42 +01:00
parent 05e64be3bd
commit 34bf3b4833

View file

@ -229,7 +229,8 @@ public:
} }
void operator()() { void operator()() {
reinterpret_cast<CallbackType>(m_holder->m_callback)( m_holder ); if (m_holder)
reinterpret_cast<CallbackType>(m_holder->m_callback)( m_holder );
} }
}; };
@ -247,7 +248,8 @@ public:
} }
void operator()(Arg1 arg) { void operator()(Arg1 arg) {
reinterpret_cast<CallbackType>(m_holder->m_callback)(m_holder, arg); if (m_holder)
reinterpret_cast<CallbackType>(m_holder->m_callback)(m_holder, arg);
} }
}; };
@ -265,7 +267,8 @@ public:
} }
void operator()(Arg1 arg1, Arg2 arg2) { void operator()(Arg1 arg1, Arg2 arg2) {
reinterpret_cast<CallbackType>(m_holder->m_callback)(m_holder, arg1, arg2); if (m_holder)
reinterpret_cast<CallbackType>(m_holder->m_callback)(m_holder, arg1, arg2);
} }
}; };
@ -282,8 +285,9 @@ public:
} }
void operator()(Arg1 arg1, Arg2 arg2, Arg3 arg3) { void operator()(Arg1 arg1, Arg2 arg2, Arg3 arg3) {
reinterpret_cast<CallbackType>(m_holder->m_callback) if (m_holder)
( m_holder, arg1, arg2, arg3 ); reinterpret_cast<CallbackType>(m_holder->m_callback)
( m_holder, arg1, arg2, arg3 );
} }
}; };