Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
None
-
None
-
4d5a8b875 (dev), bc22b41fe (6.8)
Description
The current way of having the builtins as a separate static library that inter-depends with QtQml is a source of headaches as proven by the many iterations it took to integrate https://codereview.qt-project.org/c/qt/qtdeclarative/+/516814 . https://codereview.qt-project.org/c/qt/qtdeclarative/+/517131 did not work because of QQmlComponent actually having to be a builtin.
What if we do it the other way around? Move the builtins back into the QtQml library and split out the types that form the QtQml.Base module into a separate library. Those are all private API on the C++ side and they already have a separate URI on the QML side.
There are a few corner cases: QQmlProperty, QQmlTypeNotAvailable, and QQmlScriptString are actually public API in C++, but luckily they are anonymous in QML. We can move them into the builtins.
Attachments
Issue Links
- is required for
-
QTBUG-125765 QML builtins are linked into user binaries
- Closed
- relates to
-
QTBUG-101364 qmllint spurious error: QML State AnchorChanges: with type QQuickAnchorLine to QQmlScriptString of QQmlScriptString
- Closed
- resulted from
-
QTBUG-101143 QML_FOREIGN refering to a class in another library leaves the type empty in qmltypes file
- Closed
-
QTBUG-105240 Restructure the QtQml module
- Closed