qt6-bb10/src
Milian Wolff 656d6f2a9b Support Q_GADGET QMetaObject super class hierarchies across templates
This patch fixes the QMetaObject::superClass hierarchy for Q_GADGETs
that inherit from a template which in turn inherits another Q_GADGET.
One common scenario where this is applied is for the CRTP. Without this
patch, moc would stop at the template and then sets the superClass
QMetaObject to a nullptr. For QObjects this works, since there moc knows
that every child must by definition inherit QObject. In order to support
this for Q_GADGETs too, we defer the judgment about the availability
of a staticMetaObject in the base class to compile time through the
existing QtPrivate::MetaObjectForType<Base>::value() helper.

[ChangeLog][QtCore][moc] Moc now correctly sets a non-null
QMetaObject::superClass for Q_GADGETs that inherit from a template which
inherits another Q_GADGET.

Change-Id: I103b5efd74ed24172dffce477ca2ed6d0f374d44
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2019-12-12 13:02:52 +01:00
..
3rdparty Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-12 01:01:04 +01:00
android Android: Implement MaximizeUsingFullscreenGeometryHint 2019-11-08 07:04:43 +01:00
angle Disable debug-and-release builds for MinGW 2019-09-18 06:28:16 +00:00
concurrent QtConcurrent: fix warning about function parameters shadowing class members 2019-10-08 23:21:14 +02:00
corelib Merge "Merge remote-tracking branch 'origin/5.14' into 5.15" 2019-12-12 11:39:59 +01:00
dbus Tidy nullptr usage 2019-12-06 12:13:20 +01:00
gui rhi: gl: Add support for arrays of float, vec2, vec3 and vec4 2019-12-12 12:57:06 +01:00
network Tidy nullptr usage 2019-12-06 12:13:20 +01:00
opengl Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-04 01:00:07 +01:00
openglextensions QtGui: Disable Windows on ARM64 preprocessor conflict in QtOpenGL 2019-10-21 09:14:18 -04:00
platformheaders Tidy nullptr usage 2019-12-06 12:13:20 +01:00
platformsupport Tidy nullptr usage 2019-12-06 12:13:20 +01:00
plugins Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-12 01:01:04 +01:00
printsupport Tidy nullptr usage 2019-12-06 12:13:20 +01:00
sql Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-12 01:01:04 +01:00
testlib Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-12 01:01:04 +01:00
tools Support Q_GADGET QMetaObject super class hierarchies across templates 2019-12-12 13:02:52 +01:00
widgets Merge remote-tracking branch 'origin/5.14' into 5.15 2019-12-12 01:01:04 +01:00
winmain Merge remote-tracking branch 'origin/5.13' into dev 2019-05-27 15:34:10 +02:00
xml Port QDomDocument to QXmlStreamReader 2019-11-26 09:07:26 +01:00
src.pro MIME: Make the internal database direct content, not a Qt resource 2019-12-10 15:56:09 -08:00