Projects
openEuler:24.03:SP1:Everything
qt5-qtdeclarative
_service:tar_scm:0017-QQmlImportDatabase-Make-s...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:0017-QQmlImportDatabase-Make-sure-the-newly-added-import-.patch of Package qt5-qtdeclarative
From 0d217b88c6bf5673464e350e3a62773e69555f98 Mon Sep 17 00:00:00 2001 From: Jaeyoon Jung <jaeyoon.jung@lge.com> Date: Fri, 19 Feb 2021 08:11:57 +0900 Subject: [PATCH 17/26] QQmlImportDatabase: Make sure the newly added import path be first If it already exists in the import list, move it to the first place. This is as per the description of QQmlEngine::addImportPath: | The newly added path will be first in the importPathList(). Change-Id: I782d355c46ada2a46cff72e63326208f39028e01 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> (cherry picked from commit 3e413803c698d21f398daf0450c8f501204eb167) --- src/qml/qml/qqmlimport.cpp | 9 ++++++--- tests/auto/qml/qqmlimport/tst_qqmlimport.cpp | 5 +++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp index 10c6c41338..39bfcdc999 100644 --- a/src/qml/qml/qqmlimport.cpp +++ b/src/qml/qml/qqmlimport.cpp @@ -2120,9 +2120,12 @@ void QQmlImportDatabase::addImportPath(const QString& path) cPath.replace(Backslash, Slash); } - if (!cPath.isEmpty() - && !fileImportPath.contains(cPath)) - fileImportPath.prepend(cPath); + if (!cPath.isEmpty()) { + if (fileImportPath.contains(cPath)) + fileImportPath.move(fileImportPath.indexOf(cPath), 0); + else + fileImportPath.prepend(cPath); + } } /*! diff --git a/tests/auto/qml/qqmlimport/tst_qqmlimport.cpp b/tests/auto/qml/qqmlimport/tst_qqmlimport.cpp index 9c865b3f73..1f788f7a7f 100644 --- a/tests/auto/qml/qqmlimport/tst_qqmlimport.cpp +++ b/tests/auto/qml/qqmlimport/tst_qqmlimport.cpp @@ -154,6 +154,11 @@ void tst_QQmlImport::importPathOrder() engine.addImportPath(QT_QMLTEST_DATADIR); expectedImportPaths.prepend(QT_QMLTEST_DATADIR); QCOMPARE(expectedImportPaths, engine.importPathList()); + + // Add qml2Imports again to make it the first of the list + engine.addImportPath(qml2Imports); + expectedImportPaths.move(expectedImportPaths.indexOf(qml2Imports), 0); + QCOMPARE(expectedImportPaths, engine.importPathList()); } Q_DECLARE_METATYPE(QQmlImports::ImportVersion) -- 2.40.1
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2