summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qobject.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2010-09-11 07:58:43 (GMT)
committerThiago Macieira <thiago.macieira@nokia.com>2010-09-11 07:59:44 (GMT)
commit288244c528ca169d1a3b015e27fc9561d7094563 (patch)
tree14a31a414b819eee2d558f60b7bc35e6eeede201 /src/corelib/kernel/qobject.h
parentef96f3f480527e5fde2aba10a55e87dd348ddb9a (diff)
downloadQt-288244c528ca169d1a3b015e27fc9561d7094563.zip
Qt-288244c528ca169d1a3b015e27fc9561d7094563.tar.gz
Qt-288244c528ca169d1a3b015e27fc9561d7094563.tar.bz2
Revert "Properly implement qobject_cast for const pointers."
This commit added new symbols to the 4.7 branch after 4.7.0 was frozen. This reverts commit 0b0aa7603b27447a5abe55c55d0514bc56b35f9e.
Diffstat (limited to 'src/corelib/kernel/qobject.h')
-rw-r--r--src/corelib/kernel/qobject.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h
index b5c772e..d98d1f0 100644
--- a/src/corelib/kernel/qobject.h
+++ b/src/corelib/kernel/qobject.h
@@ -369,10 +369,14 @@ inline T qobject_cast(QObject *object)
template <class T>
inline T qobject_cast(const QObject *object)
{
+ // this will cause a compilation error if T is not const
+ register T ptr = static_cast<T>(object);
+ Q_UNUSED(ptr);
+
#if !defined(QT_NO_MEMBER_TEMPLATES) && !defined(QT_NO_QOBJECT_CHECK)
reinterpret_cast<T>(0)->qt_check_for_QOBJECT_macro(*reinterpret_cast<T>(const_cast<QObject *>(object)));
#endif
- return static_cast<T>(reinterpret_cast<T>(0)->staticMetaObject.cast(object));
+ return static_cast<T>(const_cast<QObject *>(reinterpret_cast<T>(0)->staticMetaObject.cast(const_cast<QObject *>(object))));
}