aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlplugindump
Commit message (Collapse)AuthorAgeFilesLines
* Move creation and management of singletons to QQmlEnginePrivateRichard Weickelt2019-04-241-3/+2
| | | | | | | | | | | | | | | | | | | | | | Singleton object instances were previously managed by QQmlType::SingletonInstanceInfo and kept in a shared storage. This caused concurrency problems when instantiating singleton instances from different QML engines in different threads. This patch moves the singleton house-keeping infrastructure to QQmlEnginePrivate and makes SingletonInstanceInfo immutable. Singleton objects are stored in a QHash with QQmlType as the key because the qml type id might be 0 for composite singletons. The public API of QQmlType is extended to provide more information about singleton types so that access to SingletonInstanceInfo is not needed. All internal accesses of singleton objects must now take the same code path via QQmlEnginePrivate::singletonInstance<T>() which simplifies overall usage of singletons and scatters less implementation details throughout the code base. Task-number: QTBUG-75007 Change-Id: I13c5fd21cac2eb7291f2cbcf2c2b504f0f51a07c Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Qt Forward Merge Bot2019-03-131-12/+22
|\ | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4codegen.cpp src/qml/animations/qsequentialanimationgroupjob.cpp Change-Id: I8b76e509fd7c8599d4cef25181d790ee28edab54
| * Fix re-dumping of composite typesKai Koehne2019-03-061-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | Just like with 'normal' types, we don't want to include composite types that were actually part of depending imports. So we need to remove them from the list. This fixes an issue with QtQuick.Controls style plugins, were so far types from QtQuick.Controls 2 imports were re-dumped. Change-Id: Ib099ae9cfba35218cab852d4d260369c2a652727 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * qmlplugindump: Make compositeTypes non-staticKai Koehne2019-03-041-12/+11
| | | | | | | | | | Change-Id: Ia4f35781ed96a347464b5e423bd7446f5a7f6752 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | Fix warnings about unused Qt containersSergio Martins2018-11-301-2/+1
| | | | | | | | | | | | | | | | | | | | | | Fixes -Wclazy-unused-non-trivial warnings, in preparation for using gcc/clang's warn_unused attribute in all containers. Maintainers please check if some unused variable isn't hidding an actual bug. Change-Id: I83c5a11aa2328db3dce4c6c402295d86ef297c83 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-011-25/+0
|\| | | | | | | Change-Id: I7a2b9bdb69512b2d52050d829b1b65f4fcd9d99d
| * Merge remote-tracking branch 'origin/5.11' into 5.12Liang Qi2018-10-291-25/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/settings/qqmlsettings.cpp src/quick/items/qquickwindow.cpp tools/qmlplugindump/main.cpp Change-Id: I96fedbc773a110374baed79a0b7de92d65df0ed6
| | * qmlplugindump: Remove sigsegv handlerKai Koehne2018-10-111-25/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not safe to use printf and memory allocations in a signal handler. Task-number: QTBUG-70460 Change-Id: I2a4caf302e17992471575bd89faa505a8db4a7e3 Reviewed-by: Marco Benelli <marco.benelli@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | qmlplugindump: Hardcode QtQml and QtQuick import to 2.0Kai Koehne2018-10-171-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | Change 8725f9873deda85 fixed qmlplugindump to always use the current Qt minor version for the Qt Quick and Qt Qml dependencies. Anyhow, this is unnecessary; for the dependencies resolution only the major type is important. Hard-coding the latest import might lead to people unnecessarily updating the plugins.qmltypes. Change-Id: Icc969517f268b775492f2bcc901827de64123bae Reviewed-by: Marco Benelli <marco.benelli@qt.io>
* | qmlplugindump: Properly handle extension typesKai Koehne2018-10-091-78/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extension classes do augment the primary C++ class with additional properties that should be part of the QML type. Anyhow, they should not be visible in the API. The old logic tried to emulate this by making the extension class the actual C++ type, and 'inheriting' from the normal class by setting it in the prototype. Anyhow, this failed for e.g. Qt3D, where there are numerous types sharing the same extension class. Instead, this patch fixes the issue a) hiding the extension class metainformation itself, and b) printing properties of the extension class as part of the main type. In the QMetaObject collection phase, we now traverse the class hierarchy using QQmlType::baseMetaObject instead of QQmlType::metaObject. In the generation phase, we explicitly resolve the extended type, and dump additional properties and "DefaultProperty" information into the main type description. Note that the ExtendedType sets the DefaultProperty independent of the version. Changing this would require either revisioning the defaultProperty, or (again) splitting up the types, which however brings other problems. Task-number: QTBUG-70294 Change-Id: I324469152398a605fae9e5a35b619845444ac4e8 Reviewed-by: Marco Benelli <marco.benelli@qt.io>
* | qmlplugindump: Fix calling of qmlimportscanner on WindowsKai Koehne2018-10-091-2/+4
| | | | | | | | | | Change-Id: I16618f0858b3fa878b4255147291c011efdacfc8 Reviewed-by: Marco Benelli <marco.benelli@qt.io>
* | qmlplugindump: Mark qsigSegvHandler with Q_NORETURNKai Koehne2018-09-241-1/+1
| | | | | | | | | | Change-Id: I4b25bbe4f777f524762e6f3f15df9fc358a46da6 Reviewed-by: Marco Benelli <marco.benelli@qt.io>
* | qmlplugindump: Add spaces to stderr outputKai Koehne2018-09-241-3/+3
| | | | | | | | | | Change-Id: Ib24b06a3c5dcdf99306fd4ecdf79e1846e492c9b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* | qmlplugindump: Remove path for -dependencies argumentKai Koehne2018-09-061-1/+5
| | | | | | | | | | | | | | | | | | | | Do not print the full path passed to -dependencies in the file header. This avoids local paths to show up in the plugin.qmltypes file, and therefore in the Qt checkout. Task-number: QTBUG-70264 Change-Id: I7870d7d4e30e57684c62f4e353a6bf6d72dc5faf Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | qmlplugindump: Automatically use most up to date QtQuick versionKai Koehne2018-08-301-2/+2
|/ | | | | | | | QtQuick / QML minor version is nowadays the same as the Qt minor version. Change-Id: I4d7ef0b101320ee2179746c95093b62e063adba2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-261-5/+5
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-09-201-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4compileddata.cpp src/qml/compiler/qv4compileddata_p.h src/qml/jsruntime/qv4engine.cpp src/qml/jsruntime/qv4qmlcontext.cpp src/qml/jsruntime/qv4qmlcontext_p.h src/qml/jsruntime/qv4regexpobject.cpp src/qml/jsruntime/qv4regexpobject_p.h src/qml/types/qqmllistmodel.cpp src/quick/items/qquickanimatedimage_p.h src/quick/scenegraph/qsgrenderloop.cpp tests/auto/qml/qmlcachegen/tst_qmlcachegen.cpp Change-Id: If20ef62b2c98bdf656cb2f5d27b1897b754d3dc0
| * qmlplugindump: skip imports containing "private"Marco Benelli2017-09-081-1/+1
| | | | | | | | | | | | | | | | | | Skipping paths that ends with "private" is not enough. Task-number: QTBUG-47027 Change-Id: I25af518b76f594c268db6b77dbafd343f2f57ee8 Reviewed-by: Teemu Holappa <teemu.holappa@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-08-231-1/+1
|\| | | | | | | | | | | | | Conflicts: tests/auto/qml/debugger/qqmlenginedebuginspectorintegrationtest/tst_qqmlenginedebuginspectorintegration.cpp Change-Id: I31375151eb239f348bec988d2d0506c2b4d9604c
| * qmlplugindump: fix bug in reading command lineMarco Benelli2017-08-211-1/+1
| | | | | | | | | | | | Task-number: QTBUG-58264 Change-Id: I317fb18d9ceb8738f2f132b8703dc1af3b17d35b Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devSimon Hausmann2017-08-181-62/+62
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qqmltypecompiler.cpp src/qml/jsruntime/qv4qmlcontext.cpp src/qml/jsruntime/qv4qobjectwrapper.cpp src/qml/qml/qqmlcustomparser.cpp src/qml/qml/qqmlimport.cpp src/qml/qml/qqmlimport_p.h src/qml/qml/qqmlmetatype.cpp src/qml/qml/qqmlmetatype_p.h src/qml/qml/qqmltypenamecache.cpp src/qml/qml/qqmltypenamecache_p.h src/qml/qml/qqmltypewrapper.cpp src/qml/qml/qqmltypewrapper_p.h src/qml/qml/qqmlvmemetaobject.cpp src/qml/util/qqmladaptormodel.cpp Change-Id: Ic959d03e6f9c328fb02710d9abbb0f27cddde131
| * Change data structures in QQmlMetaTypeDataLars Knoll2017-08-021-55/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure any QQmlType stored in the meta type data has a refcount of 1. This should now make it possible to clean out unused types by iterating over the list of types and removing those that have a refcount of 1. Some care is still needed for C++ registered types, that will need to get one more refcount, so we don't accidentally remove them. Task-number: QTBUG-61536 Change-Id: Id2a18dae5ddcb815f34013f5fde1f05d2d9d0214 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * Use QQmlType by valueLars Knoll2017-08-021-11/+11
| | | | | | | | | | | | | | | | | | | | | | QQmlType is now refcounted, and we need to use it by value, to control it's lifetime properly. This is required, so we can clean up the QQmlMetaTypeData cache on engine destruction and with trimComponentCache() Task-number: QTBUG-61536 Change-Id: If86391c86ea20a646ded7c9925d8f743f628fb91 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | qmlplugindump: fix "useQApplication set but not used" build errorMitch Curtis2017-08-041-0/+1
| | | | | | | | | | Change-Id: If6c3e513814a7fab62ecdf7de728939c7d61263b Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Adjust QMAKE_TARGET_PRODUCT, QMAKE_TARGET_DESCRIPTIONKai Koehne2017-07-281-2/+1
| | | | | | | | | | | | | | | | | | | | The product should be Qt5 (the default). The QMAKE_TARGET_DESCRIPTION is actually less than a description but a beautified name, that is shown e.g. in the task manager, crash reporting tool etc. Make it title case, like most Windows applications do. Change-Id: I570aee2c2016e78fdb7a93c2d7a66b70fdcb0cff Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Remove custom setting of qmake VERSION field in toolsKai Koehne2017-07-281-6/+0
|/ | | | | | | | qt_tool.prf sets the VERSION to MODULE_VERSION by default. Also, qmake automatically makes it a quadruple for the .rc file metadata. Change-Id: Ie2d0f2022c4416ce824a6786eef4a8c461ed70f1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix licensingJani Heikkinen2017-05-042-34/+24
| | | | | | | | | - Remove unused license files - Switch old LGPLv21 license headers with GPL-EXCEPT one Task-number: QTBUG-57147 Change-Id: Ib59c3e2e39bfe0038db795af85dc75028564efa3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-02-242-8/+40
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4ssa.cpp src/quick/accessible/qaccessiblequickview_p.h src/quick/items/qquickmousearea.cpp src/quick/util/qquickanimatorjob.cpp tools/qmlplugindump/main.cpp Change-Id: I84474cf39895b9b757403971d2e9196e8c9d1809
| * Fix typo in qmlplugindump error messagePeter Varga2017-01-311-1/+1
| | | | | | | | | | Change-Id: Icbe18330ae665b693047f098e219c3b665be22e9 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * qmlplugindump: add -qapp optionMarco Benelli2017-01-312-7/+30
| | | | | | | | | | | | | | | | | | | | | | | | Some modules (ie QtChart) require a QApplication instead of the QGuiApplication that qmlplugindump use by default. This option let the user specify if a QApplication is needed. Task-number: QTBUG-58264 Change-Id: I10e68d0d3eab2afad315b57fef9ce92c42e70124 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
| * Tools: Add product name, version and description to the .pro filesFriedemann Kleint2017-01-311-0/+9
| | | | | | | | | | | | | | | | This information will then be visible in Windows explorer. Change-Id: I9d2f936584308394b4e3246d57bed44083b3cbca Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | qmlplugindump: reports qmlimportscanner's messageMarco Benelli2017-02-171-0/+2
| | | | | | | | | | | | | | | | Report to the user the stderr of qmlimportscanner, if needed. Task-number: QTBUG-58930 Change-Id: Ib8ddf12cb3d18c936eb151f12991900a32175576 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | qmlplugindump: import paths clean-upMarco Benelli2017-02-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove "qrc:/qt-project.org/imports" from the paths list passed to qmlimportscanner. qmlimportscanner will error out on a path that does not exist. Since the internal qrc:/qt-project.org/imports path only exists if the plugins are compiled in statically into qmlimportscanner, we have to remove this path to stop it from erroring out. Task-number: QTBUG-58930 Change-Id: I39525f2b6ff29c02b38f5f701342026dea871701 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-141-2/+18
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I9d87ed86e95b5901a86cc3aa65d7ac39b0b708c2
| * qmlplugindump : Add a "-output" argument to specify the output fileJacques GUILLOU2017-01-051-2/+18
| | | | | | | | | | | | | | | | | | | | Having only the possibility to redirect the stdout of qmlplugindump to a file is both unconvenient and unreliable since some plugins might write content (such as logs) to stdout, which pollute the output. Change-Id: I8b1d482d7674945e6145d59aea839c54600e7784 Reviewed-by: Marco Benelli <marco.benelli@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-12-141-4/+7
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/qmltooling/qmldbg_debugger/qv4debugjob.cpp src/plugins/qmltooling/qmldbg_inspector/globalinspector.cpp src/plugins/qmltooling/qmldbg_nativedebugger/qqmlnativedebugservice.cpp src/qml/qml/qqmlimport.cpp src/quick/items/context2d/qquickcontext2dtexture_p.h tools/qmleasing/splineeditor.h Change-Id: I8f6630fcac243824350986c8e9f4bd6483bf20b5
| * qmlplugindump: avoid warningsMarco Benelli2016-12-081-4/+7
| | | | | | | | | | | | | | | | Wrap all global variable in an anonymous namespace in order to avoid compiler warnings on the uninizialized ones. Change-Id: Ifabb790d2d76b6056d706580b9e4c0f12f5119f0 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-231-0/+1
|\| | | | | | | | | | | | | Conflicts: src/qml/jsruntime/qv4object_p.h Change-Id: Iff4d3aba7710a999b8befdc493cbe959e1ce02f9
| * Set Qt version on toolsFriedemann Kleint2016-11-091-0/+1
| | | | | | | | | | Change-Id: I21d77b2eba7107528fc00db0cf5d87f8347b63be Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-09-211-1/+1
|\| | | | | | | | | | | | | Conflicts: src/qml/compiler/qv4isel_moth_p.h Change-Id: I8e86a649d1ef8ad27dc66cc8c290093b2faabc69
| * qmlplugindump: update QtQuick references to 2.8Marco Benelli2016-09-121-1/+1
| | | | | | | | | | Change-Id: I2d418d50c6300e107795dd4ebdd95c78cb1b2175 Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* | tools: use const (and const APIs) moreAnton Kudryavtsev2016-08-221-13/+13
| | | | | | | | | | | | | | For CoW types, prefer const methods to avoid needless detach()ing. Change-Id: If9018391c001eba3b4b2061d06c4caa8136811ab Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | tools: replace 'foreach' with 'range for'Anton Kudryavtsev2016-08-221-9/+15
|/ | | | | | | | Catch rvalues to prevent detach()'ing. Change-Id: I7be159a405c994429c0eee10805bfe96fcf4c806 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* tools: replace 'foreach' with 'range for'Anton Kudryavtsev2016-08-202-25/+25
| | | | | | | | | Mark some local variables or parameters as const to prevent detach()'ing. Use qAsConst where is not possible mark as const. Change-Id: I0a777c3bd855abd3bb1ad0907152360cf4a1050e Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-08-171-1/+1
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/qml/compiler/qqmltypecompiler.cpp src/qml/compiler/qv4isel_moth.cpp src/qml/compiler/qv4ssa_p.h src/qml/qml/qqmlobjectcreator.cpp Change-Id: I8bb7fe773d657f908f20ee5e72c2b9bd643f6260
| * qmlplugindump: fix regexp for plugins.qmltypesJ-P Nurmi2016-08-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | The latest plugins.qmltypes files contain whitespace after "dependencies:". Furthermore, just for the sake of correctness, escape dots in the QtQuick.tooling module import URI and version. Change-Id: I54fa288bc530f7852747c75b4d656e789d519cf2 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com> Reviewed-by: Marco Benelli <marco.benelli@qt.io>
* | Do not override QT_QPA_PLATFORM env variablesAndreas Cord-Landwehr2016-08-161-1/+1
|/ | | | | | | | | | The QGuiApplication documentation explicitly says that QT_QPA_PLATFORM can be used to specify the QPA for every QGuiApplication. Unconditionally overriding this value within the application is a unexpected behavior. Task-number: QTBUG-54789 Change-Id: Ia7a61a0f2921ef8ec27fe630e8d307d20ba1eb37 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-011-1/+1
|\ | | | | | | | | | | | | | | Conflicts: tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp tests/auto/quick/qquickitem/tst_qquickitem.cpp Change-Id: If261f8eea84dfa5944bb55de999d1f70aba528fd
| * Fix build on macOS with ICC: -sectcreate is a linker optionThiago Macieira2016-07-241-1/+1
| | | | | | | | | | | | | | | | Apparently Clang understands it and passes to the linker. ICC doesn't, so we have to use the -Wl option. Change-Id: Ibad13c8c3c8d7596aca965c4f6e96c1e82b3cef5 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | qmlplugindump: Avoid warnings about missing createPlatformOpenGLContextKai Koehne2016-06-291-1/+2
| | | | | | | | | | | | | | | | Fixes a regression introduced in 541eb6b704b53a6e88. There's no point in setting AA_ShareOpenGLContexts for the minimal plugin. Change-Id: Ibcc65ede41acf5a8cf22eacef4b94c20048a354a Reviewed-by: Marco Benelli <marco.benelli@qt.io>