diff options
author | Milian Wolff <milian.wolff@kdab.com> | 2016-02-14 15:35:27 +0100 |
---|---|---|
committer | Milian Wolff <milian.wolff@kdab.com> | 2016-02-16 17:59:55 +0000 |
commit | e1538b39bb7f18b55e50f36a95bf0232cc43b328 (patch) | |
tree | 376b0e8ecdf9343e50f4438ed6c3f96c20561e8c /src/corelib | |
parent | 78b8f7803bb662e3e73daa796d61baae84cd6ea9 (diff) |
Share code between const and non-const QMetaObject::cast variants.
Change-Id: I7aad8e5060bb17ebc04fdb137dad3b6d167895a8
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qmetaobject.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index c5a6875a77..1c426225a5 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -333,14 +333,8 @@ const char *QMetaObject::className() const */ QObject *QMetaObject::cast(QObject *obj) const { - if (obj) { - const QMetaObject *m = obj->metaObject(); - do { - if (m == this) - return obj; - } while ((m = m->d.superdata)); - } - return 0; + // ### Qt 6: inline + return const_cast<QObject*>(cast(const_cast<const QObject*>(obj))); } /*! |