qt5base-lts/tests/auto/corelib/kernel
Fabian Kosmale 9d6ba110e8 QMetaType: Store QMetaObject for pointer to const QObject, too
Before this change, the QMetaType for T const* where T is derived from
QObject would not store the static QMetaObject of T. This commit changes
this. As a consequence, the metatype system can now convert between
const and non-const pointers to QObject. Note that this allows casting
const away; but so does C++ with const_cast.
In addition, a new flag, QMetaType::IsImmutable is introduced, and used
to tag the metatypes of pointer to const types. This allows code to
discern between pointers to mutable and const QObjects, which is
relevant for the QML engine.

Task-number: QTBUG-82354
Change-Id: I3e4e4f39f565bd99a65e161528ce5304df73d6d6
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2021-02-26 09:10:31 +01:00
..
qcoreapplication Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
qdeadlinetimer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qelapsedtimer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qeventdispatcher Remove the qmake project files 2021-01-07 15:32:28 +01:00
qeventloop Remove the qmake project files 2021-01-07 15:32:28 +01:00
qjnienvironment Fix registerNativeMethods for good 2021-02-11 14:03:50 +00:00
qjniobject Make QJniObject and QJniEnvironment public API 2021-01-27 17:23:04 +02:00
qmath Add qHypot() to qmath.h, exposing and extending std::hypot() 2021-01-27 15:00:57 +01:00
qmetacontainer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmetaenum Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmetamethod Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmetaobject Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmetaobjectbuilder Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmetaproperty Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmetatype QMetaType: Store QMetaObject for pointer to const QObject, too 2021-02-26 09:10:31 +01:00
qmimedata Remove the qmake project files 2021-01-07 15:32:28 +01:00
qobject Add new special QObjectPrivate::{connect, disconnect} for QML 2021-01-18 15:54:03 +01:00
qpointer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qproperty Remove QObjectCompatProperty::operator= for safer usage 2021-01-29 16:06:19 +01:00
qsharedmemory Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
qsignalblocker Remove the qmake project files 2021-01-07 15:32:28 +01:00
qsignalmapper Remove the qmake project files 2021-01-07 15:32:28 +01:00
qsocketnotifier tst_socketnotifier: Fix timeout of QTcpServer::waitForNewConnection() 2021-01-21 08:53:35 +00:00
qsystemsemaphore Remove the qmake project files 2021-01-07 15:32:28 +01:00
qtimer Fix QTimer::setInterval to remove existing bindings 2021-02-15 13:47:31 +01:00
qtranslator Remove the qmake project files 2021-01-07 15:32:28 +01:00
qvariant QMetaType: Store QMetaObject for pointer to const QObject, too 2021-02-26 09:10:31 +01:00
qwineventnotifier Remove the qmake project files 2021-01-07 15:32:28 +01:00
CMakeLists.txt Make QJniObject and QJniEnvironment public API 2021-01-27 17:23:04 +02:00