[qt/qt/qtdeclarative]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/qt/qtdeclarative Pushed by mirror-service into branch 'dev'. Changed from 0bb2db59088ff59e17c974e1a1d0cd5e1ed48605 to 8239c8b9bcb2bbeba4d435170d7fb5b004a268d7 Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit 1ffdd361f603cb50535599ac088401a5d31fedfe by Sami Shalayel on 21/07/2026 at 07:00.. qmllint: fix unused import warnings In QTBUG-144377, the ToolTip attached property is inherited from ToolTip's base as ToolTip is defined via a QML file. Adapt the unused import warning to recognize attached properties from base types. Amends 8f60ffc42b732951b2b65fea414d6fcbb68dfde2 that introduced the warning. Pick-to: 6.12 6.11 6.8 Fixes: QTBUG-144377 Change-Id: Idc3755cd497c3242ace06db47930f288491712c8 Reviewed-by: Olivier De Cannière <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/1ffdd361f603cb50535599ac088401a5d31fedfe Git commit 9e5c310126f480ed5de7d6ddd11099e0735325fe by Sami Shalayel on 21/07/2026 at 07:00.. qmllint: move unused import to lintervisitor Move the state for the unused import warnings from the ImportVisitor to the LinterVisitor. Change-Id: I6a025897c1e9732c326135d3c2aeba39df4c4a79 Reviewed-by: Olivier De Cannière <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/9e5c310126f480ed5de7d6ddd11099e0735325fe Git commit bc07e9f850f8041892a438cca6198013a0137f19 by Sami Shalayel on 21/07/2026 at 07:03.. doc: replace directory import from qualified import snippet The directory import does not seem to make sense here, the documentation in directoryImports.qdoc states: Directory Imports rank below any module imports in precedence. If the same name is defined in a module and in a directory that are both imported into the same namespace, only the module's type is made available. Replace the directory import which can't clash with QtQuick with a QML module import. Pick-to: 6.12 Change-Id: I327895349ffed60e597c2a2e11b352d2fcfde5bd Reviewed-by: Fabian Kosmale <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/bc07e9f850f8041892a438cca6198013a0137f19 Git commit f88681d820caf542ee6ef385bf51dc7894b97af3 by Sami Shalayel on 21/07/2026 at 07:04.. qmllint: parse/lint argument files only once Before a37e4270a5e66507aeda483ec4d32262096b44cc, qmllint used to create up to two qqmljsscopes for each file it got as command line parameters. a37e4270a5e66507aeda483ec4d32262096b44cc enhanced this situation by avoiding the duplicate scopes, but still processed each file twice (once by the LinterVisitor for the actual linting and once via lazy-loading when the file gets pulled in as dependency for another file to be linted). This lead to QTBUG-146688 where processing the same file into the same scope has some buggy side-effects and breaks the assumption that lazy-loaded scopes are never modified after creation. This patch addresses this issue by making qmllint process each QML file from its command line once by merging the linting process and the lazy-loading mechanism together. Rework QmlJSLinter to work in two stages: 1. collect all files to be linted with prepareFileForBatchLinting() 2. do the actual linting with lintFileInBatch() -- Stage 1: In prepareFileForBatchLinting, set up the file-to-be-linted with a linting factory to lazy-load it via LinterVisitor instead of QQmlJSImportVisitor. "unprepared" files needed by the file-to-be-linted are still loaded via QQmlJSImportVisitor. -- Stage 2: In lintFile, populate the lazy file if needed and continue with the rest of the linting process. At this stage, the QQmlJSScopes of the QML files used by the current-QML-file-to-be-linted can be populated via lazy construction, which means that cycle references can be resolved. A first attempt where all the linting pipeline ran during lazy-loading in stage 1 was unsuccessful at resolving cyclic dependencies between files. Remove m_logger from QQmlJSLinter: there may be multiple active loggers, for example when lazy-loading a file via LinterVisitor during the linting process of another file. To avoid QTBUG-146688, make prepareForBatchLinting() return false when linting would re-populate an already populated scope. Re-populating a scope breaks all the references to its children which leads to QTBUG-146688. Adapt qmllint/main.cpp to prepare all file passed by commandline before starting to lint them. Adapt tst_qmllint to: * simulate clean snippet scope that are actually reused. Snippets are not used by other QML code so their scope and children can safely be deleted. * clear the cache when scope re-populating happens on non-snippets. Note that clearing the cache for each linted file would be cleaner but increases the test runtime by a factor of 2.5x. Fixes: QTBUG-146688 Change-Id: Ibc7586501388988d60d8ca0fbfff4949ed3c3c22 Reviewed-by: Fabian Kosmale <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/f88681d820caf542ee6ef385bf51dc7894b97af3 Git commit 8239c8b9bcb2bbeba4d435170d7fb5b004a268d7 by Ulf Hermann on 21/07/2026 at 07:46.. qmlpreview: Guard against bindings changing type Those are not trivial. We actually have to rebuild for them. This holds not only for switching between literal and script bindings, but also for turning a literal or script binding into a translation binding (or back): a translation binding is a live QQmlTranslationBinding, so swapping its kind means installing or dropping a live binding, which is structural. Amends commit 670561f4d7ebb2bae02defe5a31ca7488b82792f Pick-to: 6.12 Change-Id: I52ee52a49317c0c452cbfabe86123c769fc4f474 Reviewed-by: Sami Shalayel <[email protected]> https://invent.kde.org/qt/qt/qtdeclarative/-/commit/8239c8b9bcb2bbeba4d435170d7fb5b004a268d7