summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorMilian Wolff <milian.wolff@kdab.com>2016-02-14 15:35:27 +0100
committerMilian Wolff <milian.wolff@kdab.com>2016-02-16 17:59:55 +0000
commite1538b39bb7f18b55e50f36a95bf0232cc43b328 (patch)
tree376b0e8ecdf9343e50f4438ed6c3f96c20561e8c /src/corelib
parent78b8f7803bb662e3e73daa796d61baae84cd6ea9 (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.cpp10
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)));
}
/*!