summaryrefslogtreecommitdiffstats
path: root/src/tools
Commit message (Collapse)AuthorAgeFilesLines
* Add REUSE ignore commentLucie Gérard3 days1-1/+4
| | | | | | | | For those files, reuse fails to process the copyright and licensing information. The information is written to .reuse/dep5 file and reuse is told to ignore what is in the file. Task-number: QTBUG-124453 Change-Id: If593c713026d9d349055cb6e8e73500966a05d9b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* qdbusxml2cpp: don't track command lineSamuli Piippo8 days1-1/+1
| | | | | | | | | | | | Generate source code without information about original location of the source file. Useful for reproducible builds. Task-number: QTBUG-105926 Task-number: QTBUG-105913 Change-Id: I33b24e11773c8ad3489cc84df3c42b43a6116378 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Kai Köhne <kai.koehne@qt.io> Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
* moc: Update comment above propertiesMårten Nordheim9 days1-1/+1
| | | | | | | | It was not matching up with the data there anymore, the notifyID and 'p.revision' was not mentioned Change-Id: I09f63e5137944e9ab96e0a70abb798895d4b7739 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* rcc: don't track source file locationSamuli Piippo12 days1-1/+1
| | | | | | | | | | | | Generate source code without information about original location of the source file. Useful for reproducible builds. Task-number: QTBUG-105926 Task-number: QTBUG-105913 Change-Id: Ia4ca8d1b22751d0bf110082872b6b4228d01ff9a Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Ari Parkkila <ari.parkkila@qt.io> Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* windeployqt: Deploy target dlls for directx and vc runtimeOliver Wolff2024-04-262-6/+13
| | | | | | | | | | | When deploying for a cross compiled target we should deploy the target versions of directx and compiler runtime dlls. Thus a new platform was added to utils to be able to reflect this distinction. Fixes: QTBUG-124719 Pick-to: 6.7 Change-Id: I4dd797804fa871d76d56f8775b188d4306b51e5a Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* uic: Write fully qualified enumerations for cursors/icon pixmapsFriedemann Kleint2024-04-231-5/+7
| | | | | | | Fixes: PYSIDE-2492 Pick-to: 6.7 Change-Id: Ic2505628b0550654c109cf239b4f2390f03df623 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
* uic/Python: Recognize more C++ suffixes when determining the custom widget ↵Friedemann Kleint2024-04-221-2/+6
| | | | | | | | | | | module Also check for .H, .hh, .hpp. Pick-to: 6.7 Task-number: PYSIDE-2648 Change-Id: I993647e2b55e3b76d714a9d3a4b539c2d5874f04 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
* androiddeplyqt: fix more missing pclose() on early returnsMarc Mutz2024-04-181-0/+4
| | | | | | | | | | | Found by Coverity. This code predates the move of androiddeployqt to qtbase. Pick-to: 6.7 6.6 6.5 6.2 5.15 Coverity-Id: 378442 Change-Id: Icc24918159132c55a3817eaf19c96ea212dfa6dc Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* androiddeplyqt: fix missing pclose() on early returnMarc Mutz2024-04-181-0/+1
| | | | | | | | | | | Found by Coverity. Amends 5bb178c479a247720fbc3fbb7f06a32b725193ac. Pick-to: 6.7 6.6 6.5 6.2 5.15 Coverity-Id: 378357 Change-Id: I8839280ce15d8e7d9e1f4024ca796c2d8b4ed930 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* Long live [[nodiscard]] QFile::openGiuseppe D'Angelo2024-04-174-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having already caught some bugs in real code because of unchecked calls to QFile::open, this commit marks QFile::open (and open() in other file-I/O classes) as [[nodiscard]]. Since it's going to raise warnings, the plan is to keep the existing behavior up to and including the next LTS. Then the warnings will switch on by default. All of this is protected by system of macros to opt-in or opt-out the behavioral change at any time. A possible counter-argument for doing this is that QFile::open is also used for opening files in the the resource system, and that opening "cannot fail". It clearly can, if the resource is moved away or renamed; code should at a minimum use a Q_ASSERT in debug builds. Another counter-argument is the opening of file handles or descriptors; but again, that opening may fail in case the handle has been closed or if the flags are incompatible. --- Why not marking *every* open() override? Because some are not meant to be called directly -- for instance sockets are supposed to be open via calls to `connectToHost` or similar. One notable exception is QIODevice::open() itself. Although rarely called directly by user code (which just calls open() on a specific subclass, which likely has an override), it may be called: 1) By code that just takes a `QIODevice *` and does something with it. That code is arguably more rare than code using QFile directly. Still, being "generic" code, they have an extra responsibility when making sure to handle a possible opening failure. 2) By QIODevice subclasses, which are even more rare. However, they usually ignore the return from QIODevice::open() as it's unconditionally true. (QIODevice::open() doesn't use the protected virtual pattern.) I'll try and tackle QIODevice in a future commit. [ChangeLog][QtCore][QFileDevice] The open() functions of file-related I/O classes (such as QFile, QSaveFile, QTemporaryFile) can now be marked with the "nodiscard" attribute, in order to prevent a category of bugs where the return value of open() is not checked and the file is then used. In order to avoid warnings in existing code, the marking can be opted in or out, by defining QT_USE_NODISCARD_FILE_OPEN or the QT_NO_USE_NODISCARD_FILE_OPEN macros. By default, Qt will automatically enable nodiscard on these functions starting from Qt 6.10. Change-Id: Ied940e1c0a37344f5200b2c51b05cd1afcb2557d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* moc: Treat number + characters as Identifier, not NumberFabian Kosmale2024-04-171-2/+11
| | | | | | | | | | | | | | | | | While <DIGIT>+<Character> is not a valid identifier by itself in the C++ language, it might become one when using it with the token pasting operator. This risks confusing some number literals with suffix as Identifiers, but those are currently not supported anyway, so this shouldn't break anything that is currently working. Fixes: QTBUG-87219 Fixes: QTBUG-124288 Pick-to: 6.7 Change-Id: If73255cc0e6649bc90c52b1d177aac8ff975ae69 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Tools: handle file opening failureGiuseppe D'Angelo2024-04-147-22/+69
| | | | | | | | | Most of the cases, a file handle (stdin/out) is opened without checking for error. That operation may still fail, so check for it. Change-Id: I30c3e7b40858acd8b1662622129bd6557722dccd Reviewed-by: Ahmad Samir <a.samirh78@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* uic: use qOverload for ambiguous slotsAxel Spoerl2024-04-124-29/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qOverload was used only for ambiguous signals and slots with no arguments. Connections to ambiguous slots made in widget designer's signal/slot editor, lead to an unresolved ambiguity when compiling the generated code in ui_xxx.h. One example is QLabel::setNum(), which can either take a double or an int. Always using qOverload is not an alternative, because signatures are normalised. E.g. const QString & / QString can't be distinguished. Add a map with all ambiguous signals and slots to customwidgetsinfo.cpp. Hardcode the map, because uic lives in QtCore and can't access meta objects of gui/widget classes. Use this map in isAmbiguousSignal() and add isAmbiguousSlot(). Change OverloadUse enum into an enum class in language.cpp. Change enum values to reflect the new condition for slots to use qOverload. Rename existing enum values and remove default argument in language::formatMemberFnPtr() to improve code readability. Apply const T& syntax for all types starting with Q, except QSize and QPoint. Revert 94c16517b3f8f01309a89598e698931ef77d60db, which was a hack forcing for QLCDNumber::display() to a string based connection. Add a new baseline to tst_uic, to test the above. Fixes: QTBUG-93413 Task-number: QTBUG-124241 Pick-to: 6.7 6.6 6.5 6.2 Change-Id: I49ccc1688cfc08970cce3e56adf18e5ac49a77e1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* uic: Write QIcon theme enumsFriedemann Kleint2024-04-102-22/+75
| | | | | | | | | | | Split out some helpers to write the theme code with path fallback checking for the enum case (identified by a fully qualified icon) or the old XDG/filename case. Task-number: QTBUG-121823 Pick-to: 6.7 Change-Id: If2755483ab899f04e372cf95443f7e03970f6e7f Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* qtpaths: Drop obsolete code for Qt < 6Michael Weghorn2024-04-091-3/+0
| | | | | Change-Id: I1da44d57e872df76e6774a7603edd7049461520e Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Add support for using an inline namespaces for -qtnamespaceFriedemann Kleint2024-04-031-1/+3
| | | | | | | | | | | | | | | Inline namespaces serve the purpose for which the original -qtnamespace option was added and allow for macro simplification (no need for any using directives). This makes it possible to use namespaced builds of Qt also for Qt for Python and similar use cases which have issues with the additional namespace. [ChangeLog][QtCore] It is now possible to use an inline namespace for -qtnamespace (option -qtinlinenamespace). Task-number: PYSIDE-2590 Change-Id: Ia0cecf041321933a2e02d1fd8ae0e9cda699cd1e Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* macdeployqt: wait forever for otoolMorten Sørvig2024-03-251-1/+1
| | | | | | | | | | | The QProcess default wait time of 30s may be too short in e.g. CI environments where processes may be blocked for a longer time waiting for CPU or IO. Task-number: QTBUG-117598 Change-Id: I27dbe83ddbe811ae4ff28767de67cb0ceaab267e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* syncqt: remove dead codeMarc Mutz2024-03-251-1/+0
| | | | | | | | | | | | | | | | | | | | Either the code in the try {} block - doesn't throw, then the return within the try {} block exits the function, or it - throws fileystem_error, then we rethrow in the catch, or it - throws any other exception, then we leave the function by exception In no case can control reach the trailing 'return {}'. Found by Coverity. Amends 7aecb189d544613ad13c7e7d1207bd7767225a71. Pick-to: 6.7 6.6 6.5 Coverity-Id: 444466 Change-Id: I1c1bf752453076724c2fa9367ea5309e741d84ac Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Make deployment of openssl plugin optionalOliver Wolff2024-03-211-5/+77
| | | | | | | | | | | | | | | Qt's openssl plugin is dependent on openssl libraries. Users should make a conscious decision about deployment of the plugin and the corresponing libraries so deployment of that functionality is now opt in. [ChangeLog][Tools][Windeployqt] Deployment of openssl plugins is now optional. For proper deployment of openssl related functionality pass in --openssl-root to make sure that openssl libraries are also deployed. Fixes: QTBUG-117394 Change-Id: Iad43c7666b9af491f7695783b4e23a811256515b Reviewed-by: Miguel Costa <miguel.costa@qt.io>
* Add the error output for syncqt normilizedPath functionAlexey Edelev2024-03-211-5/+12
| | | | | | | Task-number: QTBUG-123438 Pick-to: 6.5 6.6 6.7 Change-Id: If718d774daac2fd4a9e27ad4725a74362d1c78f3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Rename files for header generationLucie Gérard2024-03-202-2/+2
| | | | | | | Pick-to: 6.7 Task-number: QTBUG-121039 Change-Id: I45eec26e93e5aa3e4a08ef4b326427338f63e3f2 Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Fix dangling references - GCC 14Liang Qi2024-03-181-1/+1
| | | | | | | | This amends 18def77d27f88ce26b6af29fe56a80429fed555d . Pick-to: 6.7 6.6 6.5 Change-Id: Icadf46326f1fda1bdbcd40d101170581e510b87a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windeployqt: prevent output for --list optionTimothée Keller2024-03-151-4/+5
| | | | | | | | | | Some outputs weren't guarded with the optVerboseLevel which caused them to occur even with the --list option. Add a guard to prevent for that. Fixes: QTBUG-122257 Pick-to: 6.7 6.6 Change-Id: Ide060cda4ac6f9b4470ca608120e2b8aa4819de5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Revert "Windeployqt: remove unused library list"Timothée Keller2024-03-141-1/+12
| | | | | | | | | | This reverts commit a05abede682db4ab20a7c1d9eb45a487e91d6a78. Reason for revert: Causes QTBUG-123325 Change-Id: I251b67798af3d768db6f2836b52ded558c0c8211 Pick-to: 6.7 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Bootstrap: remove unused sourcesThiago Macieira2024-03-131-10/+2
| | | | | | | | | qiterable.cpp is even a comment-only source. Change-Id: I01ec3c774d9943adb903fffd17b79d567a435594 Reviewed-by: Ahmad Samir <a.samirh78@gmail.com> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Windeployqt: improve multiple directory warningTimothée Keller2024-03-141-3/+5
| | | | | | | | | | | | | The multipleDirs warning was added to avoid surprises related to where windeployqt would deploy files when using binaries from different paths. To do this properly, make the warning message more meaningful, and suppress the warning when the --dir option is specified, i.e. when the user is already explicitly choosing where to deploy. Pick-to: 6.7 6.6 Change-Id: Ie2984f4af740776c568610370d49ad4ff85ffff0 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Bootstrap: remove qnumeric.cpp by using qnumeric_p.hThiago Macieira2024-03-131-1/+0
| | | | | | | | | That is, use the inline functions that refer to <numeric_limits> and <cmath> directly, instead of the out-of-line wrappers. Someone should verify if the hacks for QNX's <math.h> are still required. Change-Id: I01ec3c774d9943adb903fffd17b7ee560b4b71b9 Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
* Bootstrap: remove QDirListing/QDirIteratorThiago Macieira2024-03-131-1/+0
| | | | | | | | | | Bootstrapped tools don't usually need to list directories; they should operate on file lists passed to it by the build system instead. This may deserve a QT_FEATURE. Change-Id: I01ec3c774d9943adb903fffd17b7ecfba2702fc5 Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
* Bootstrap: remove QTemporaryFileThiago Macieira2024-03-131-1/+0
| | | | | | | | | Done by harmonizing the use on the QT_CONFIG(temporaryfile) macro and fixing one test that was missing. We can't remove the older macro because it is marked PBULIC) but we don't need to use it ourselves. Change-Id: I01ec3c774d9943adb903fffd17b7eb4dd1a4e63f Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
* Bootstrap: remove QRandomGeneratorThiago Macieira2024-03-131-1/+0
| | | | | | | | | | | The bootstrapped tools really mustn't produce random output (they must always be reproducible exactly). Therefore, ensure we don't need this file. Change-Id: I01ec3c774d9943adb903fffd17b7eb94dbd4be89 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Ahmad Samir <a.samirh78@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Bootstrap: remove QVariantThiago Macieira2024-03-131-1/+0
| | | | | | | | | I added QT_NO_VARIANT to qconfig-bootstrapped.h to be clearer on what the #ifs are, but there's no testing of that feature outside of QT_BOOTSTRAPPED. Change-Id: I01ec3c774d9943adb903fffd17b7e8ac4340fb89 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Bootstrap: remove QDataStreamThiago Macieira2024-03-132-10/+3
| | | | | | | | | | | It was only used by the cmake_automoc_parser so it would write a 64-bit in big-endian format. So bypass QDataStream and write it native endianness. Change-Id: I01ec3c774d9943adb903fffd17b79c78e56db4cf Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Windeployqt: introduce --include-soft-plugins command line optionMichał Policht2024-03-072-21/+44
| | | | | | | | | | | | | | | Some plugins may have dependencies on additional Qt modules. This is handled by deployPlugin() function. Existing code does not look for plugins associated with these modules however, because the loop iterates over plugin directories only once. This change introduces an option that will make windeployqt take into account all such soft dependencies by making recursive calls to findQtPlugins(). Pick-to: 6.7 Task-number: QTBUG-121583 Change-Id: Id6535426a47f9b92a3035e864dfdd7577b82c9ad Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timothée Keller <timothee.keller@qt.io>
* Move qAbort from qglobal.cpp to qassert.cppThiago Macieira2024-03-061-1/+0
| | | | | | | | | | | It makes more sense there, as all the other functions in that file are about early termination. This allows us to remove qglobal.cpp from the bootstrap library, because qglobal.cpp now only has the callback tables. Amends 8f13af5d7b9b659208a8a93e6581d30b434dae1f. Change-Id: I01ec3c774d9943adb903fffd17b7ea92404bdbd3 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Port to QDirListingAhmad Samir2024-03-034-24/+20
| | | | | | | | | | | Use QDirListing in the Bootstrap build instead of QDirIterator. Drive-by changes: - more const variables - use emplace_back() instead of append() where appropriate Change-Id: Ie1f0d03856e557c4bfabfff38a87edc7da86d091 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* androiddeployqt: fix QDirIterator::next() usageAhmad Samir2024-03-011-2/+3
| | | | | | | | | | | The code inside the loop body uses it.next() twice, however hasNext() is called only once; each call to next() advances the iterator. Amends 4041610cb202699a47268975e5aaecaa1f182c0a. Pick-to: 6.7 6.6 6.5 6.2 5.15 Change-Id: Idb96cfbddc56e0d7ed38ab1b0279f40592c75175 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Fix spelling of FFmpeg in (end-)user-visible string of windeployqtVolker Hilsheimer2024-03-011-2/+2
| | | | | | | | | It's two capital "FF", lowercase "mpeg". Pick-to: 6.7 6.6 6.5 Change-Id: I4eca719fa6ce0133e3ddb6163c81e24493b378e3 Reviewed-by: Kai Köhne <kai.koehne@qt.io> Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
* synqt.cpp: scan for and reject #pragma onceMarc Mutz2024-02-291-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | In 2022¹, we gave ourselves the rule to allow #pragma once only in non-installed headers (examples, tools, snippets, ...), because the same installed header may reside in different places in the filesystem and #pragma once would treat these as separate headers, causing multiple-definition errors. Recently, the question came up: "What constitutes a public header?" Non-_p.h headers in e.g. src/plugins/ muddy the waters here a bit. Since #pragma once is forbidden in installed headers, I had the idea to use it to indicate non-installed headers. This patch enables use of #pragma once as a static assertion to that effect, should we so choose. ¹ https://lists.qt-project.org/pipermail/development/2022-October/043121.html Pick-to: 6.7 6.6 6.5 Fixes: QTBUG-122813 Change-Id: I3b5beef72e154cf5bf1ccd4b6f02df9680609e43 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* syncqt.cpp: Extract Lambda error()Marc Mutz2024-02-281-3/+6
| | | | | | | | It will be re-used in a subsequent patch. Pick-to: 6.7 6.6 6.5 Change-Id: Ia58020a39440d5e583450f7adecf561f7267c403 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Fix the qtpath issue with lto enabledAlexey Edelev2024-02-281-1/+1
| | | | | | | | | | | | Move qtconfManualPath pointer to the unnamed namespace, so it's never exported. Add the static setQtconfManualPath method that sets the pointer at runtime. Fixes: QTBUG-122739 Pick-to: 6.5 6.6 6.7 Change-Id: Icfc631f9680ad5f484920b0fdf3e408b7657c108 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* PCRE2: upgrade to 10.43Giuseppe D'Angelo2024-02-191-0/+1
| | | | | | | | | | | | Apart from some source code reshuffling, 10.43's JIT has dropped its support for ARMv5. [ChangeLog][Third-Party Code] PCRE2 was updated to version 10.43. Pick-to: 6.7 6.6 6.5 Change-Id: I7909f0a9358f38282f5eaeacd2eb10529b47e63c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* rcc: Suppress MSVC warning C4711 in generated codehjk2024-02-191-0/+4
| | | | | | | | | | | | | The informational message Warning C471 1function 'int __cdecl qInitResources_qrc(void)' selected for automatic inline expansion is triggered by /W4. Fixes: QTBUG-122176 Change-Id: Ifbd2e969b1bb7d25e1b83a4c5d8b305e7b6883a2 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Apple: Fix a few deprecation warnings after bumping deployment targetsTor Arne Vestbø2024-02-191-0/+6
| | | | | | | | | | | | - kIOMasterPortDefault -> kIOMainPortDefault - Use UTType instead of Carbon Core functions/constants - NSWorkspace iconForFileType -> iconForContentType - Removed obsoleted kUTTypeInkText pasteboard type There are still a few more, but these will be fixed in follow ups. Change-Id: Ibbca226d578b4ba64bd9c8c5d0addc1870114a20 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Fix documentation of used digest and signature algorithmAndré Klitzing2024-02-151-2/+2
| | | | | | | | | | SHA-256 is used since 2019. This amends c9f8893000249bd5701674c53d18a823b4a1c629. Pick-to: 6.7 6.6 6.5 Change-Id: I005aa3414e4606045c8c3b01d71547efcf4122ba Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Change license for tools filesLucie Gérard2024-02-0720-20/+20
| | | | | | | | | | | | According to QUIP-18 [1], all tools file should be LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I89e08859871d29a9cf8c7a56b30b07b2c2f34b42 Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Change license for examples filesLucie Gérard2024-02-0711-11/+11
| | | | | | | | | | | | According to QUIP-18 [1], all examples file should be LicenseRef-Qt-Commercial OR BSD-3-Clause [1]: https://contribute.qt-project.org/quips/18 Pick-to: 6.7 Task-number: QTBUG-121787 Change-Id: I185ebdff2faa5e4af6ac0ee77c3ae33faae06e7d Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Remove extra semi-colonsTasuku Suzuki2024-02-062-3/+3
| | | | | Change-Id: I92fddb36cd136fd1bd627955f15d0559b9942d7e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Bootstrap: remove QBitArrayMarc Mutz2024-01-311-1/+0
| | | | | | | | | | It appears to be used only in qlalr, which is, however, not bootstrapped. Pick-to: 6.7 6.6 6.5 6.2 Change-Id: Idc16d957bf687238c7b0ee603d8b092e2048ef18 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* moc: store the FQN in JSON superClass objectsMarc Mutz2024-01-262-2/+16
| | | | | | | | | | | Tooling can then use this information to find the correct base class, even absent C++ scoping information. Pick-to: 6.7 6.6 6.5 Task-number: QTBUG-101141 Change-Id: I5350da8d2d9aaf5ec86027357131ebac1eb50372 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* moc/QMetaProperty: Remove limitation on non-own-class notify signalsFabian Kosmale2024-01-262-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | The moc generated code does a sanity check that NOTIFY signals actually exist in the parent class when they cannot be found in the class moc currently runs on. The logic there was however too simplistic, and couldn't deal with signals taking a parameter. Fix this, and take the opportunity to use a proper static_assert instead of generating a "normal" compile error. We do not do any checks for the presence of QPrivateSignal, as the whole point of QPrivateSignal is that it should be private (and not e.g. protected). Moreover, we adjust QMetaProperty::notifySignalIndex to take single-argument notify methods into consideration as well when encontering an unresolved notify index. Fixes: QTBUG-115989 Pick-to: 6.7 Change-Id: I8a056a15777f3132691e207b4b9ab6c2c9b2126d Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>