Qt 6.8.3 with BlackBerry 10 (QNX 8 / ARMv7) patches
 
 
 
 
 
 
Go to file
Nils Jeisecke fee8944cbe Allow use of template class instances inheriting from a Q_GADGET in Qml
The Q_GADGET macro cannot be used in templates. It can however be useful
to derive a template class from a Q_GADGET enabled base class to benefit
from type safety features in C++ (e.g. the class could represent an id
or handle for some C++ type).

For proper wrapping of a QVariant with a gadget value in a QJSValue, the
QMetaType::IsGadget flag must be set for the registered template
instance type - which does not happen prior to the fix because
IsGadgetHelper requires qt_check_for_QGADGET_macro to be defined in the
registered class but not in an ancestor class - in other words: The
class must declare Q_GADGET.

To overcome this, IsGadgetHelper/IsPointerToGadgetHelper can now
differentiate between a Q_GADGET flagged class (allowing
automatic registration) and a derived class, e.g. a template class
(forcing Q_DECLARE_METATYPE to be used explicitly).

[ChangeLog][QtCore][QMetaObject] It is now possible to use template
class instances inheriting from a Q_GADGET in Qml

Task-number: QTBUG-66744
Change-Id: I7632ad45cff79fa422b3f852ca0b963f35fab155
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2018-03-10 06:12:24 +00:00
bin syncqt: remove 'descend' parameter from findFiles() 2018-02-28 18:15:56 +00:00
config.tests Merge remote-tracking branch 'origin/5.9' into 5.11 2018-02-14 12:51:24 +01:00
dist Merge remote-tracking branch 'origin/5.9' into 5.11 2018-02-14 12:51:24 +01:00
doc Doc: complete Border Layout Example 2018-02-19 12:28:46 +00:00
examples Doc: Update example Embedded Dialogs 2018-03-05 14:52:27 +00:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs Apple: resolve SDK version of QMAKE_LINK_C and QMAKE_LINK_C_SHLIB 2018-03-07 18:12:11 +00:00
qmake Merge remote-tracking branch 'origin/5.9' into 5.11 2018-02-14 12:51:24 +01:00
src Allow use of template class instances inheriting from a Q_GADGET in Qml 2018-03-10 06:12:24 +00:00
tests Allow use of template class instances inheriting from a Q_GADGET in Qml 2018-03-10 06:12:24 +00:00
util QtEdidSupport: Fix private headers 2018-02-02 07:21:49 +00:00
.gitattributes
.gitignore gitignore: don't ignore Info.plist templates for libraries 2017-11-23 07:07:48 +00:00
.qmake.conf Bump version 2018-02-08 17:07:19 +01:00
.tag
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LGPL_EXCEPTION.txt
LICENSE.FDL
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPLv21 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.PREVIEW.COMMERCIAL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
config_help.txt xcb: re-factor QXcbKeyboard::updateKeymap() to remove various fallbacks 2018-02-24 12:15:08 +00:00
configure Remove references to obsolete platforms 2017-11-05 06:33:53 +00:00
configure.bat configure: Prefer cl.exe over clang-cl.exe 2018-01-04 21:22:42 +00:00
configure.json configure: introduce 'subarch' term to expression evaluator 2018-02-22 21:39:36 +00:00
configure.pri configure: introduce 'subarch' term to expression evaluator 2018-02-22 21:39:36 +00:00
header.BSD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.COMM Add header template for commercial only modules 2015-10-19 10:37:18 +00:00
header.FDL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.GPL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.GPL-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL-NOGPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL-ONLY
header.LGPL3
header.LGPL3-COMM
qtbase.pro nuke configure -host-option 2016-12-13 18:55:59 +00:00
sync.profile Add support for Windows UI Automation 2017-11-14 23:31:04 +00:00