Details
-
Task
-
Resolution: Unresolved
-
P1: Critical
-
None
-
None
Description
Currently, if you pull a foreign type into a module using QML_FOREIGN, its type description is copied into the current module's qmltypes. If you do that twice, you get two copies of the same type. It is often necessary to have two different QML types for the same C++ type, for example to expose a value type and its enums. However, expressing this as two copies of the same type, only differing in access semantics and exports is clumsy and creates problems for downstream tooling that expects internal names to be unique. Therefore, QML_FOREIGN and friends should work like QML_ATTACHED or QML_EXTENDED and link, rather than copy, the types.
Attachments
Issue Links
- relates to
-
QTCREATORBUG-27590 ValueAxis: Unknown component. (M300)
-
- Open
-
- resulted from
-
QTBUG-115358 QBarCategoryAxis is exported twice
-
- Reported
-
-
QTBUG-115439 Qmllint throws warnings at TapHandler's signals
-
- Closed
-
-
QTBUG-115361 QGeoSatelliteInfo is exported twice
-
- Closed
-
-
QTBUG-115365 QWebEngineCertificateError is exported twice
-
- Closed
-
-
QTBUG-115360 QAudioDevice is exported twice
-
- Closed
-
-
QTBUG-115362 ShaderBuildMessage is exported twice
-
- Closed
-
-
QTBUG-115363 QVoice is exported twice
-
- Closed
-
-
QTBUG-115563 QCameraDevice is declared twice in the qmltypes file
-
- Closed
-
-
QTBUG-115564 QMediaFormat is declared twice in the qmltypes file
-
- Closed
-
-
QTBUG-115566 QMediaMetaData is declared twice in the qmltypes file
-
- Closed
-