aboutsummaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Tools: Fix deprecation warnings about QProcess::finished(int)Friedemann Kleint2019-02-052-2/+2
| | | | | | | | | | | | Use QProcess::finished(int, QProcess::ExitStatus) with QOverload, fixing: qmlpreviewapplication.cpp:151:86: warning: ‘void QProcess::finished(int)’ is deprecated: Use QProcess::finished(int, QProcess::ExitStatus) instead [-Wdeprecated-declarations] connect(m_process.data(), static_cast<void(QProcess::*)(int)>(&QProcess::finished), qmlprofilerapplication.cpp:475:83: warning: ‘void QProcess::finished(int)’ is deprecated: Use QProcess::finished(int, QProcess::ExitStatus) instead [-Wdeprecated-declarations] connect(m_process, static_cast<void(QProcess::*)(int)>(&QProcess::finished), Change-Id: I0eb09e398b2a3b307fdd67a3fe505b1bdd1078f8 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-01-291-10/+12
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/masm/yarr/YarrJIT.cpp src/qml/compiler/qv4instr_moth.cpp src/quick/handlers/qquicksinglepointhandler_p.h src/quick/handlers/qquicktaphandler.cpp src/quick/items/context2d/qquickcontext2d.cpp Done-With: Ulf Hermann <ulf.hermann@qt.io> Change-Id: I109453131f9f0a05316ae37c7d6ed1edc8c0f9d4
| * Merge 5.12 into 5.12.1Kari Oikarinen2019-01-082-4/+4
| |\ | | | | | | | | | Change-Id: Ic746fbce93430867e2eda4bc7155d34e20a4aa2b
| * | CMake: Don't handle empty resource filesAndy Shaw2018-12-171-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][Qml] Empty resource files will not be passed to Qt Quick Compiler to be handled when using CMake. Change-Id: I1513d29b70d8a4b08a2947f4a97fbd525c5ace8f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | qml runtime: Don't assume there is a window, verify itShawn Rutledge2019-01-151-4/+5
| | | | | | | | | | | | | | | Change-Id: I83ea0f679170dfab6f99edb17950e27ca2aedfb1 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* | | Clean up LoadWatcher in the Qml RuntimeShawn Rutledge2019-01-151-37/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Name the variables in a self-documenting way. While we're at it, do initialization at declaration when possible, reorder the public sections before the private ones, fix comment spacing, and use function-pointer connect syntax where possible. Change-Id: I3fddc8f6d27afa197d425fb7ae3baee02acedceb Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | | qmlcachegen: Eliminate foreachUlf Hermann2019-01-042-3/+3
| | | | | | | | | | | | | | | Change-Id: Ic13e5af7ddb92cf5988988ebe1c2b7470a5f8c1e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Add option to retain sources when generating QML cacheUlf Hermann2019-01-043-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default any .qrc files are filtered and QML and JS sources dropped when generating the cache. The new QTQUICK_COMPILER_RETAINED_RESOURCES option allows the specification of .qrc files to be kept as they are. The source fils specified in them will be available to the application. Change-Id: If45bcd95c29fe4b91f5817573964ff55b1db8a00 Fixes: QTBUG-72430 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-231-3/+3
|\ \ \ | | |/ | |/| | | | Change-Id: I9c3d282c11a556e616c5e1ba1b51e88b741327f6
| * | qmlscene: Make it explicit that QCA::installTranslator is staticKai Koehne2018-12-141-3/+3
| | | | | | | | | | | | | | | Change-Id: I1b123981a9dae359c27c96d4b7ae276af1c5e90f Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | | qmlprofiler: Use std::cerr directly rather than through QTextStreamUlf Hermann2018-12-171-16/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The application output already is in the right text encoding. There is no point in re-encoding it. The re-encoding is actually expensive enough to delay the target application in some cases, and that distorts the profiling results. Change-Id: I3a6c47801cba072f6cfff8d0d2c3d10725750d00 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-12-121-1/+1
|\| | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/qml/debugger/qqmldebugjs/tst_qqmldebugjs.cpp Change-Id: Ic1dace832ad4b29023d24808b8617b5dcc915eb5
| * | Add qmllint in android builds as wellJani Heikkinen2018-12-111-1/+1
| |/ | | | | | | | | | | Fixes: QTBUG-70669 Change-Id: Ie19494bdb785acdf368e14a4cdd7a141967d3248 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
* | Fix warnings about unused Qt containersSergio Martins2018-11-302-3/+2
| | | | | | | | | | | | | | | | | | | | | | 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-301-0/+1
|\| | | | | | | Change-Id: Ie977b1998eba8c9aa8582a96132bf1aa0ec55ca4
| * Fix Qt Quick Compiler with CMake on WindowsSimon Hausmann2018-11-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We perform a qmake substitution pass on QtQuickCompilerCompiler.cmake.in, which contains code to determine the location of the qmlcachegen tool. The expression set(compiler_path \"$${CMAKE_BIN_DIR}qmlcachegen$$CMAKE_BIN_SUFFIX\") requires that $$CMAKE_BIN_SUFFIX is set correctly, so that it expands to .exe on Windows and we can locate the binary correctly. This is identical to what's done in create_cmake.prf. [ChangeLog][Qml] Fix Qt Quick Compiler with CMake on Windows Task-number: QTBUG-71829 Change-Id: I81a7452b7dc7f01c9114900b9c103122fec07cf6 Reviewed-by: Kevin Funk <kevin.funk@kdab.com>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-241-13/+3
|\| | | | | | | Change-Id: I57e4b762dcccf2f7f6e4b659f6fc8c40465d3322
| * qmlscene: Fix potential invalid memory access to QTranslatorKai Koehne2018-11-231-13/+3
| | | | | | | | | | | | | | | | Qt assumes that installed QTranslator object should remain valid for the whole lifetime of Qt, so let's create it on the heap. Change-Id: Ia99826a933eefd9952efc6556505c7f52920b483 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Tools: Improve wordingUlf Hermann2018-11-224-34/+34
| | | | | | | | | | | | | | | | We start an executable and that results in a process. "program" is not very well defined here. Change-Id: Iec00ec806843c93951f0dcfbfe46984bf599470f Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | QMLCacheGen: add missing QRegExp includeSamuel Gaist2018-11-171-0/+1
| | | | | | | | | | | | | | | | | | Following qtbase's QRegExp include cleanup, this patch adds it here. This also follows the "include what you use" philosophy. Change-Id: I2692736e37bca304b7f95563b98c92cf01c7aedb Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-155-31/+232
|\| | | | | | | Change-Id: Ie82b8a0f9158ef02bf11209b16e574dedf201e2e
| * qmlpreview: Use a better file system watcherUlf Hermann2018-11-145-30/+231
| | | | | | | | | | | | | | | | | | | | | | We need to keep watching files even if they are removed and re-added as editors frequently do when manipulating text files. QFileSystemWatcher cannot do this by itself, and our simplistic timeout-based attempt didn't work work properly either. Fixes: QTBUG-71768 Change-Id: I21e914138179ad8adf07f0196fec8ddcda2cbfca Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
| * qmlpreview: Fix typoUlf Hermann2018-11-141-1/+1
| | | | | | | | | | Change-Id: I5b8a674e77f770e4987e03ccf02b5a27c4987e24 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-091-1/+2
|\| | | | | | | Change-Id: I2ed93c9d5fa8ec9b075112618a2535535591a0e8
| * Correctly read files with a \0 in themLars Knoll2018-11-051-1/+2
| | | | | | | | | | | | | | | | At least one test case uses this, so let's make sure we read them correctly. Change-Id: I9f4ea7785b5a400cd6f0b210a6a98975bbbaf7ce Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-11-061-1/+1
|\| | | | | | | Change-Id: I85be5e6ef173fa733d7febd3209164bb31762e0d
| * Clone ContextType::Global as ContextType::ScriptImportedByQMLJüri Valdmann2018-11-011-1/+1
| | | | | | | | | | | | | | | | | | | | Add new enum value QV4::Compiler::ContextType::ScriptImportedByQML, which behaves exactly the same as ContextType::Global. A follow-up patch will change the behavior slightly. Task-number: QTBUG-69408 Change-Id: I20d27804fd1433f2229704546bcd78a0ac108c01 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Merge remote-tracking branch 'origin/5.11' into 5.12.0Liang Qi2018-10-301-25/+0
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/settings/qqmlsettings.cpp src/quick/items/qquickwindow.cpp tools/qmlplugindump/main.cpp Change-Id: I3e5dae4de25b2da961a572b3a4bd151181d211c9
* | \ 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>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-091-80/+101
|\| | | | | | | | | | | Change-Id: I7ec44f7ab232d7d57281b3eb1eb9ea0f2576d8a4
| * | 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>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-10-091-0/+1
|\| | | | | | | | | | | Change-Id: Ib37d3a31e34581fa542fa02d54fac77661d72614
| * | Fix long file name generated for certain qmlcache.qrcJarkko Koivikko2018-10-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling qtvirtualkeyboard with MSVC, it may choke on the long file name generated for certain *_qmlcache.qrc files. Specifically, these files are originally generated by qmake, therefore reside in the build directory. For example, this happens when compiling qtvirtualkeyboard out-of-tree using shadow build (e.g. in Qt Creator): qrc____build_qtvirtualkeyboard_Desktop_Qt_5_12_0_MSVC2017_x86_64_Debug_src_virtualkeyboard_.rcc_release_qmake_virtualkeyboard_layouts_qmlcache.cpp c1xx: fatal error C1083: Cannot open source file: '.rcc\release\qrc____build_qtvirtualkeyboard_Desktop_Qt_5_12_0_MSVC2017_x86_64_Debug_src_virtualkeyboard_.rcc_release_qmake_virtualkeyboard_layouts_qmlcache.cpp': No such file or directory This change changes the base directory to $$OUT_PWD for paths which point outside the source directory. Change-Id: I9733af98d916a60ca1ab02cd49ab67024f1db086 Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-09-261-4/+4
|\| | | | | | | | | | | Change-Id: Iff22da70d6301f9098360bb5abbb29087c7677d9
| * | 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>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-09-071-1/+5
|\| | | | | | | | | | | Change-Id: I1d3012e8ebc94c68367214184f356cd06ebccff4
| * | 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>
* | | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-09-061-1/+1
|\| | | | | | | | | | | | | | | | | | | | Conflicts: tools/qmlscene/main.cpp Change-Id: Idd6e05582ade4def1a3907f9622a8e132bec6bf7
| * | Make QtDeclarative work for the no-thread configMorten Johan Sørvig2018-09-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Force use of the basic render loop, adapt qqmlthread and qqmltypeloader to work on a single thread. Disable components and features that require worker threads: qmldb_server, worker script, shapes, folderlistmodel, threaded render loop, software renderer. Done-with: Lorn Potter <lorn.potter@gmail.com> Change-Id: I77d965947f684f8b7d19284b5decd893395316cb Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
| * | WebAssembly for QtDeclarativeMorten Johan Sørvig2018-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is the squashed diff from wip/webassembly to 5.12. Done-with: Lorn Potter <lorn.potter@gmail.com> Change-Id: Ieef34accefef38018a66d3c39bfacb825af4bea6 Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2018-09-011-2/+2
|\| | | | | | | | | | | Change-Id: I6e9b5fbf50da24cae9e555723a5f1d8365d4a2f3
| * | 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>
* | | Fix feature dependencies of qmlscene and qmleasing toolsValentin Fokin2018-08-242-2/+10
|/ / | | | | | | | | | | | | | | | | | | Add missing guard for header include in qmlscene and skip build of qmleasing on disabled feature. This fixes build with -no-feature-action configuration. Change-Id: I3b0f248e57495bbbd9a0250300f2e3ca82a01a72 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Add support for compiling ES modules ahead of timeSimon Hausmann2018-08-175-77/+86
| | | | | | | | | | | | | | | | | | | | | | | | This is also pretty straight-forward by adding .mjs as supported extension in the qmake and cmake support. This also tweaks qv4engine.cpp to share the same module compilation function across all code paths. Change-Id: Ia0e23c78a794f2330ecf8f991ee6ea948f4ac89d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Add initial basic support for ES6 modulesSimon Hausmann2018-08-091-15/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The entry point from the parsing perspective into modules is not QV4::Script but QV4::ExecutionEngine::compileModule. For convenience, the ESModule AST node gets a body, which is the statement list connected between the ModuleItemList items that are not import/export declarations. The QV4::Module allocates a call context where the exported variables are stored as named locals. This will also become the module namespace object. The imports in turn is an array of value pointers that point into the locals array of the context of the imported modules. The default module loading in ExecutionEngine assumes the accessibility of module urls via QFile (so local file system or resource). This is what qmljs also uses and QJSEngine as well via public API in the future. The test runner compiles the modules manually and injects them, because they need to be compiled together with the test harness code. The QML type loader will the mechanism for injection in the future for module imports from .qml files. Change-Id: I93be9cfe54c651fdbd08c5e1d22d58f47284e54f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io>