aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qqmlmoduleplugin
Commit message (Collapse)AuthorAgeFilesLines
* QQmlTypeLoader: Re-implement fileExists using QDir and QDirListingUlf Hermann2025-07-071-24/+3
| | | | | | | | | | | | | This has the benefit of being case sensitive even on case-insensitive file systems. Since the creation of a QDirListing is more expensive than simply checking for existence with QFileInfo, we use the iterator to its maximum effect and more aggressively cache directory contents now. Task-number: QTBUG-134652 Change-Id: I4b707d2adc5492f90466b831a14f17efa26a50c2 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Skip remoteImportWithQuoterUrl() test when qml_network disabledJuha Vuolle2025-05-131-0/+4
| | | | | | | | As it won't pass without it. Task-number: QTBUG-136101 Change-Id: I4a3454244fec97e624ed14e61138516c304f33d7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* QtQml: Load pre-registered types if no remote qmldir can be foundUlf Hermann2025-04-154-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have a potentially remote qmldir we have to wait for it to surface before we load any pre-registered types. The qmldir might contain dependent imports. Once we've exhausted all possible remote qmldir URLs, we can load any pre-registered types. We have to unconditionally insert the import instance at the right place in the import namespace, though. Otherwise the imported types will get re-ordered. There are some pre-existing quirks to this behavior: We only trigger the code that postpones the loading if the QML engine has URL interceptors. Otherwise we load the pre-registered types right away. Changing this to do the right thing and first check the remote locations for any potential qmldirs would be a subtle change in behavior with large potential to break someone's code. We should not do it without a proper migration path. As a drive-by, fix the generation of warnings for unresolved imports. We only want to warn about actually unresolved imports. Previously, it warned about all imports it had to postpone if any of them was unresolved. Amends commit 46429839fedd79244559069bb4235a8b0e7ebf0a Pick-to: 6.9 6.8 6.5 Fixes: QTBUG-135334 Change-Id: Ib86ea58c19d96d2162f6735ce1caf88c562b65e7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* qtdeclarative: fix tst_qqmlmoduleplugin when statically builtDmitrii Akshintsev2025-03-1841-213/+262
| | | | | | | | | | | | | | | | | | | | | | | | | | | This test was written before the qt_add_qml_module, plugins were manually written with a help of a deprecated QQmlExtensionPlugin. Assuming that plugins are, by nature, dynamic objects to be loaded at a runtime, this test was not intended to cover cases when plugins are statically built and linked into the test. The fix consists of the following: 1. Introduction of conditional macro definition QT_STATICPLUGIN for static builds. Based on this macro, MOC in it's turn, generates qt_static_plugin_##PLUGIN() symbols 2. Preventing symbol clashes (ODR violation) in static builds by renaming Plugin and type names. 3. Preventing linker optimizations by explicitly referencing MOC-generated qt_static_plugin_##PLUGIN symbols through Q_IMPORT_QML_PLUGIN. 4. Making static plugins "findable" by Pluginimporter by passing uri as a moc option 5. Minor refactoring of the tests: a) make "non-strict clash" test isolated (not relying on the previous state of execution) b) unite importsPlugin and importsChildPlugin More context on the "-Muri" MOC option e8c4af1ac5429dba8062dbe7702746af96e8fdef 0d4f698c80e5e63f790771a369aa6a1fa987c41e Fixes: QTBUG-131812 Pick-to: 6.8 6.9 Change-Id: I6582c393182b80aeb1f01c1fa93417e1d4f316c9 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add Qt::Qml before Qt::QmlPrivate to auto testsKarim Pinter2024-10-221-0/+1
| | | | | | | | | | The build for auto tests for VxWorks fails because Qt::Qml is not added before Qt::QmlPrivate resulting in many unresolved symbols from Qt::Qml library. When Qt::Qml is added before it solves this problem. Task-number: QTBUG-129113 Change-Id: I89d553ac1d6706e2e934665fed2f308e6b01ed78 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* tests: Fix target name overlapMiguel Costa2024-09-241-3/+5
| | | | | | | | | | | | | In the build of the `tests/auto/qml/qqmlmoduleplugin/pluginWrongCase` library, the target name overlapped with that of the library in `tests/auto/qml/qqmlmoduleplugin/plugin`. At least in the case of the (officially unsupported) MSVS generator this resulted in an invalid build configuration (generated a solution file containing two projects with the same name). Change-Id: I050f6f854b734632003fda92b34666faf2137f50 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* tests: Explicitly check for pathconf(_PC_CASE_SENSITIVE) == 1Tor Arne Vestbø2024-09-231-6/+2
| | | | | | | | | | | | | | | | We use pathconf in some of our tests to determine if the file system on Darwin is case sensitive. But pathconf returns -1 if the case sensitivity can't be determined, with errno set to ENOTSUP. The convention in this case is to treat the file system as not being case sensitive (as reported by NSURLVolumeSupportsCaseSensitiveNamesKey and VOL_CAP_FMT_CASE_SENSITIVE in equivalent APIs), so we need to check explicitly for a return value of 1. Pick-to: 6.8 Change-Id: I692e396bbfddfd0754a89dff2207588a10627579 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Liang Qi <liang.qi@qt.io>
* tst_qqmlmoduleplugin: Don't add _debug suffix in framework buildsTor Arne Vestbø2024-09-191-1/+1
| | | | | | | | | | As of qtbase/d3be87ff1d558f05309b1f29f7e71f291498584f we no longer suffix plugins with _debug in single config framework builds. Pick-to: 6.8 Change-Id: Ibc1954186152882d434ee00b8e616d89b8603175 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Replace all occurrences of Q_OS_MAC with more appropriate definesTor Arne Vestbø2024-06-041-3/+3
| | | | | | Pick-to: 6.8 Change-Id: I6ea24d0439c78efbb1df242fb980d3d8b084eeb2 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix test compilation issues with QtLite configurationJari Helaakoski2024-04-301-0/+2
| | | | | | | | | Now developer build tests compile, but some are not working. Functional fix will come later via separate tasks. Task-number: QTBUG-122999 Change-Id: I0a0dfcf7affb73f928b8be62b3576a6a51658488 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Correct license for test filesLucie Gérard2024-02-2723-23/+23
| | | | | | | | | | | | | | According to QUIP-18 [1], all test files should be LicenseRef-Qt-Commercial OR GPL-3.0-only [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I26d72e8de04d4c7c57b3b7838af5d033265de5ba Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Kai Köhne <kai.koehne@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Remove remaining foreach in qml testsUlf Hermann2023-08-221-9/+14
| | | | | | | Task-number: QTBUG-115808 Change-Id: If02f3cbb97e8a6035544d10ee2c23f5c87ed618c Reviewed-by: Sami Shalayel <sami.shalayel@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Mark the module as free of Q_FOREACH, except where it isn'tMarc Mutz2023-08-171-0/+3
| | | | | | | | | | | | | | | | | | | The density of Q_FOREACH uses is high here, too high for this author, unfamiliar with this code, to tackle in a short amount of time. But they're concentrated in just a few TUs, so pick a different strategy: Mark the whole module with QT_NO_FOREACH, to prevent new uses from creeping in, and whitelist the affected TUs by #undef'ing QT_NO_FOREACH locally, at the top of each file. For TUs that are part of a larger executable, this requires these files to be compiled separately, so add them to NO_PCH_SOURCES (which implies NO_UNITY_BUILD_SOURCES, too). Created QTBUG-115808 to keep track of this. Task-number: QTBUG-115808 Change-Id: I29c377f939e3d747e3ce72c224c4ee722df7a95d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* tst_qqmlmoduleplugin: Clean up memory managementAmanda Hamblin-Trué2023-08-151-37/+26
| | | | | | Task-number: QTBUG-115222 Change-Id: Ie0faf6d29e9d76abe72c9d7a0600b25a7fd47d14 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Make qml tests standalone projectsAlexandru Croitor2023-07-051-0/+6
| | | | | | | | | | | | | | | | | Add the boilerplate standalone test prelude to each test, so that they can be opened with an IDE without the qt-cmake-standalone-test script, but directly with qt-cmake or cmake. Boilerplate was added using the follow script: https://git.qt.io/alcroito/cmake_refactor Manual adjustments were made where the code was inserted in the wrong location. Task-number: QTBUG-93020 Change-Id: Ia68c9d263e7454f0c4a26c29b10f1c535d08e2f6 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
* qmldir parser: Handle internal types with versionsUlf Hermann2023-02-071-1/+1
| | | | | | | | | There is no reason why internal types cannot have versions. Pick-to: 6.5 Task-number: QTBUG-110815 Change-Id: I7fa9790dc64dd785fc08ec7b22f68b4f961fdb00 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Retire the qt_parse_all_argumentsAmir Masoud Abdol2023-01-201-2/+2
| | | | | | Task-number: QTBUG-99238 Change-Id: Ia11c9cbd7c06347319ab3674ec0cd8da0214747e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtQml: Restructure the moduleMaximilian Goldstein2022-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | Create a new module QtQml.Base which contains the actual QtQml types and a new module QtQml that just imports QtQml.Base, WorkerScript and Models. This is so we don't have circular dependencies within QtQml anymore where QtQml imports QtQml.Models but Models can't depend on QtQml for type information. [ChangeLog][QtQml][Important Behavior Changes] If you import QtQml you now need to make sure that QtQml is actually in the import path. Usually this is the case, but by manipulating the import path you can hide QtQml. In previous versions of Qt you could then still import QtQml because its types are present in the QtQml library. However, it would ignore its dependencies: QtQml.Models and QtQml.WorkerScript. If you really want to import only the builtins, you can always "import QML". Fixes: QTBUG-105240 Change-Id: Icdcdcc926757a8e9e8d639301b5b6d110de59613 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Port from container::count() and length() to size()Marc Mutz2022-10-071-3/+3
| | | | | | | | | | | | | | | | | | | | This is a semantic patch using ClangTidyTransformator as in qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8: auto QtContainerClass = anyOf( expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o), expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o)); makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container', with the extended set of container classes recognized. Change-Id: Idb1f75dfe2323bd1d9e8b4d58d54f1b4b80c7ed7 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-09-0723-23/+23
| | | | | | | Task-number: QTBUG-105718 Change-Id: Id89ed14990804a5024183e75382cc539d4293da1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* CMake: Don't use PUBLIC_LIBRARIES for tests and test helpersAlexandru Croitor2022-07-2823-23/+23
| | | | | Change-Id: I1cd769f85d5f82c43639d6787d98e536619249e6 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Add license headers to cmake filesLucie Gérard2022-07-0823-0/+69
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I72c89a98c42bbc9234d8495e9e503bec81d11037 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Use SPDX license identifiersLucie Gérard2022-06-1123-621/+46
| | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Adapt qqmlmoduleplugin test to new metadata formatUlf Hermann2021-10-191-13/+1
| | | | | | Fixes: QTBUG-97605 Change-Id: I73263048001f99a91e6d634dae1003ea17c86758 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Replace 0 pointer constants with nullptrAllan Sandfeld Jensen2021-10-181-1/+1
| | | | | | | Replaced in most common patterns. Change-Id: Idcaff1f2e915f29922702d3600a2e5f1e2418a7a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Consolidate test helpers into private librariesMitch Curtis2021-09-132-6/+9
| | | | | | | | | | | | | | | | | | | | Previously each test would include and build sources from the shared folder. Now we make those sources a library, build it once, then have each test link to it instead. We also take the opportunity to move some helpers that qtquickcontrols2 had added into the quicktestutils library where it makes sense, and for the helpers that don't make sense to be there, move them into quickcontrolstestutils. We add the libraries to src/ so that they are internal modules built as part of Qt, rather than tests. That way we can use them in a standalone test outside of qtdeclarative. Task-number: QTBUG-95621 Pick-to: 6.2 Change-Id: I0a2ab3976fdbff2e4414df7bdc0808f16453b80a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Avoid querying the file system for qmldir files for locked modulesUlf Hermann2021-08-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user explicitly locks a module using qmlProtectModule, we don't load any additional qmldir files afterwards. In particular, this means you can only do that with modules that don't contain qmldir files or with modules for which the qmldir files have already been loaded in all engines that need them. This is in contrast to the "weak" locking we automatically perform when loading a plugin. When importing the module again after loading a plugin we do want to re-evaluate the qmldir directives. If the module is imported from a different engine than before, we also have to search for the qmldir file again. Amends commit 914e0300792856ddac9b99b20a8d88dd6f087fa6. [ChangeLog][QtQml] The pre-5.15 behavior of qmlProtectModule() has mostly been restored: If you explicitly protect a module, the QML engine will never look for any qmldir files or plugins for that module again. This severely limits what you can do with such a module. However, once all affected engines have loaded the module, protecting it can be a useful optimization. In contrast to pre-5.15, the qmldir cache for such modules continues to be re-used even after they are locked. Therefore, in QML engines that have loaded the module before, you can expect any "prefer" or "import" directives and any composite types to still be available after protecting the module. Fixes: QTBUG-85591 Pick-to: 6.2 Change-Id: Ia4edd860e2ddda5e0c419e1ce9764f10f32ace1f Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
* CMake: Always add the qmldir to the resource file systemUlf Hermann2021-07-015-0/+30
| | | | | | | | | | | | We want to be able to load modules directly from the resource file system, no matter if we build statically or dynamically. It's limited by the need to load plugins, of course, but as most plugins are optional an application can easily go this way and never include any plain QML files in an application bundle. Pick-to: 6.2 Change-Id: I94657a43b47e442722a83e1fb306680aa50b1bc3 Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
* QtQml: Key plugins by URI where possibleUlf Hermann2021-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | This allows us to associate different qmldir files for the same module with one another. Typically there is one qmldir file in the resource file system and one in the QML import path. We cannot load plugins for the latter, but usually we have already loaded any plugins we need. Now we can detect this. This requires us to construct a proper URI for implicit imports. The easiest way to do this is to just use the URI from the qmldir if available. Modules with versions encoded in their paths and modules with multiple plugins cannot be resolved by URI only. These continue to be keyed by path. However, as we do not generate such modules, we will not automatically get two instances of those, and we won't have to fall back from one to the other. Pick-to: 6.2 Change-Id: Ic79add936d263a8e559fd998fca15a6ae160952e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Deprecate QQmlExtensionPlugin::baseUrl()Ulf Hermann2021-06-243-2/+4
| | | | | | | | | | | | | | | The function does not play well with optional plugins as we don't need to load those from any specific location. You also don't need this function. There is exactly one place in qtdeclarative where it is used and there it just provides a poor replacement for qmldir entries. [ChangeLog][QtQml][Important Behavior Changes] The internal function QQmlExtensionPlugin::baseUrl() has been deprecated. You don't need it if you properly specify your module in the qmldir file. Change-Id: I131c45e069e9c10744a0ad6126604a2600a6d93d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Remove unneeded *.pro and .prev_CMakeLists.txt filesCraig Scott2021-05-1923-610/+0
| | | | | | | | | | The .pro files corresponding to the .prev_CMakeLists.txt files have already been removed. Change-Id: I254eafe4c7de1a516e33bd9cb3d9879e73fa83b4 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Mark overrides in tests to silence compiler warningsVolker Hilsheimer2021-04-1121-21/+21
| | | | | | Pick-to: 6.1 Change-Id: Ieed929dcd7b550a1dc365d34b6f20f2f0e2d057f Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Fix some "can be marked override" warningsAndreas Buhr2021-02-231-1/+1
| | | | | | Change-Id: I13da0d085901314950c4fa0afb5853e183652e67 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Remove the qmake project filesFabian Kosmale2021-01-1524-320/+0
| | | | | | | | | Remove all qmake project files, except for examples which are used to test that qmake continues to work. Change-Id: Ic4abb72dc2dcd75df7a797c56056b6b3c5fe62ac Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-10-0646-56/+56
| | | | | | | | Modify special case locations to use the new API as well. Task-number: QTBUG-86815 Change-Id: I3b964e3baf0cc7040830156dac30358ea1152801 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Fix tst_qqmlmoduleplugin on macFawzi Mohamed2020-08-111-1/+8
| | | | | | | | | * warn and assume case unsensitivity if pathconf fails (on FAT32 for example) * adjust library name for debug compilation Change-Id: I2ec45d5da35974b61c6e316738a59f2962532aed Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix string-bytearray mistake in tst_qqmlmodulepluginLaszlo Agocs2020-06-291-1/+1
| | | | | | | | Was causing an error with the latest qtbase. Switch to QByteArrayLiteral. Change-Id: I2370ccca5ac245a7d6678cc6888217d4757f562d Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Fix tst_qqmlmoduleplugin for MinGWCristian Adam2020-06-245-0/+6
| | | | | | | | | | | | | Some of the pro files didn't have the CONFIG += plugin line, which resulted in pro2cmake generating shared libraries for the respective plugins. The shared libraries had the "lib" prefix on MinGW, which caused the plugin loading mechanism to fail. Task-number: QTBUG-84886 Change-Id: I240967d918db13be45cf9b79bfcc989e9b826937 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Drop the "plugin cannot be loaded" extension to error messagesUlf Hermann2020-06-171-4/+4
| | | | | | | | This message adds very little extra value, and it complicates the tests that check for specific errors. Change-Id: I58553a8cbc56c3333c8e9815518cca5fa01fdde1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Allow QML plugins to be optionalUlf Hermann2020-06-099-5/+127
| | | | | | | | | | | If a plugin does nothing but load the library that provides the types, we can skip the plugin loading by linking the library directly. State that in the qmldir file, and evaluate it when loading the module. Task-number: QTBUG-84639 Change-Id: I2097237866a50f66c55e4653ad119fe10e18a893 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* CMake: Regenerate qtdeclarative/testsAlexandru Croitor2020-05-292-10/+10
| | | | | | | | | | | | | Includes: - new api calls - some new dependencies - some TARGET_DESCRIPTION - some additional tool directory exclusion when cross-compiling (qmlplugindump) - some missing add_subdirectory calls Change-Id: Iea43e45b94f37367ffc1d8dd6ce0ff1021a31b1a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Update Apple platform defines after rename in qtbaseTor Arne Vestbø2020-03-172-4/+4
| | | | | Change-Id: Ia0a075e3199eab735f9b289873beeb8730ebc47e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CMake: Regenerate and adapt to merge from devwip/cmakeAlexandru Croitor2020-03-122-10/+4
| | | | | | Change-Id: If8daa6152a563d4309d7342414780ef75b9f5589 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
* Regenerate qtdeclarativeAlexandru Croitor2020-02-1242-205/+150
| | | | | | | Change-Id: I48d7fd306f3d1b161a8e73029282ee591b1ef612 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io>
* Fix qqmlmoduleplugin testLeander Beernaert2020-01-313-33/+69
| | | | | Change-Id: I87354d4b8f8fc1acfe933640f5b48a4673a0dbd9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Regenerate all projects with new CMake API versionAlexandru Croitor2019-11-1540-40/+40
| | | | | | Change-Id: Ie0db35f674137c229eaf049616f38f8e818f7092 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Regenerate remaining tests to be in syncAlexandru Croitor2019-11-1540-180/+164
| | | | | | Change-Id: I200c8f58ad13bc1bc78409a3ce49348584ba5b51 Reviewed-by: Qt CMake Build Bot Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/dev' into wip/cmakeAlexandru Croitor2019-10-1410-4/+125
|\ | | | | | | | | | | | | Removed dependencies.yaml because we don't use it yet in wip/cmake. Fixed conflict in qmlcachegen.cpp. Change-Id: Ie1060c737bee1daa85779903598e5b6d5020d922
| * Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2019-10-092-3/+3
| |\ | | | | | | | | | Change-Id: I68014bc552793b6dea930744325876a8863aaef3
| | * Use qmlProtectModule to protect a module from further modificationUlf Hermann2019-10-082-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't need two mechanisms to do essentially the same thing. QQmlTypeLoader::Blob::addImport() had an "optimization" to never check for qmldir files of locked imports. This meant the first time you imported a module with a plugin that locked the module you could use the qmldir file to load additional .qml files afterwards. The second time you imported the same thing, you couldn't. As this is not a great example of consistent behavior, we drop this optimization and always allow the qmldir files of plugins that lock the module to specify additional QML files. As a side effect of this, additional plugins listed in a qmldir file can also now be loaded after the module has been locked by some other means. However, any qmlRegisterFooBar() called from the module will be prevented. Change-Id: Idabb2bd5f75fc85b62f42625173672b4ae84382e Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>