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
For Gerrit Dashboard: QTBUG-119473 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
564084,15 | Restructure builtins and QtQml.Base | dev | qt/qtdeclarative | Status: MERGED | +2 | +1 |
565573,2 | Restructure builtins and QtQml.Base | 6.8 | qt/qtdeclarative | Status: MERGED | +2 | 0 |