diff options
Diffstat (limited to 'src/corelib/tools/qsharedpointer_impl.h')
-rw-r--r-- | src/corelib/tools/qsharedpointer_impl.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h index 6393cc3970..2c8e03a5dd 100644 --- a/src/corelib/tools/qsharedpointer_impl.h +++ b/src/corelib/tools/qsharedpointer_impl.h @@ -813,6 +813,8 @@ template <class X, class T> Q_INLINE_TEMPLATE QSharedPointer<X> qSharedPointerDynamicCast(const QSharedPointer<T> &src) { register X *ptr = dynamic_cast<X *>(src.data()); // if you get an error in this line, the cast is invalid + if (!ptr) + return QSharedPointer<X>(); return QtSharedPointer::copyAndSetPointer(ptr, src); } template <class X, class T> |