summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Update timestamp file for `Cross-Config` buildsv6.6.06.6.0Orkun Tokdemir2023-09-301-3/+17
| | | | | | | | | | | | | | | | | | Since https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8564 is merged, the timestamp file for {target}_json_file.txt should be updated for `Cross-Config` builds. The actual error message before this commit when CMake 3.28 is used: ``` ninja: error: 'src/corelib/Core_autogen/timestamp', needed by 'src/corelib/meta_types/Core_json_file_list.txt', missing and no known rule to make it ``` Change-Id: Ib544b18b67d2d4722f3801b1f46a0e0e18e59d48 Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 8041bfba47305352627d910930e52da496904c17) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5c9e77298583d9955c139765783e403314799f42)
* CI: Fix resolving dependencies with Debian packagesSimo Fält2023-09-291-1/+2
| | | | | | Pick-to: dev 6.6 Change-Id: Ia057c34318daff2d63237d523803a4231a621da1 Reviewed-by: Toni Saario <toni.saario@qt.io>
* Move Calendar Widget Example to UI Components categoryKai Köhne2023-09-271-1/+1
| | | | | | | | Change-Id: Iafa05fbfde41dbbf7ddffd667983db9cc1c6e184 Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> (cherry picked from commit 9de4133da29460b0f1fd13bc3ecd2483dc5ea04a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit c66b3afc5afaf5904ff8cbd6c7d93242f7a55be5)
* QPointer: also provide a converting assignment operatorGiuseppe D'Angelo2023-09-253-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d026fad3d962eed0119351cd37f34490e09153fd added converting constructors for QPointer. This however made converting _assignments_ ambiguous, introducing a regression for users coming from Qt < 6.6. This code: QPointer<Base> base; QPointer<Derived> derived; base = derived; used to convert `derived` to `Derived *` (using the implicit conversion operator from `QPointer<Derived>` to `Derived *`), and then the assignment operator for `QPointer<Base>` that took a `Base *`. The introduction of the conversion constructor in 6.6 makes it possible to convert `QPointer<Derived>` to `QPointer<Base>`, and then fall back to the compiler-generated assignment operator for `QPointer<Base>`. The result is that the code above is now ambiguous and stops compiling. Fix this by adding a converting assignment operator for QPointer. I'm only adding the const-lvalue overload because the implementation requires going through the private QWeakPointer::assign helper. We cannot copy-assign or move-assign the inner QWeakPointer, as those assignments require lock()ing the QWeakPointer and that's not possible on a QObject-tracking QWeakPointer (but cf. QTBUG-117483). Assigning from a rvalue QPointer would mean calling assign() on the internal QWeakPointer _and_ clear the incoming QPointer, and that's strictly worse than the lvalue overload (where we just call assign()). Change-Id: I33fb2a22b3d5110284d78e3d7c6cc79a5b73b67b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 6c504f2519e1180dbcfd77d5bb08b0db9742eeaa) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 11aa3b13b3edb3c8731ad45b8e475c6037ffce97) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* qmake: Don't error out if QMAKE_DEFAULT_LIBDIRS is empty on macOSTor Arne Vestbø2023-09-231-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The new linker in Xcode 15 doesn't provide any default linker or framework paths when requested via -v, but still seems to use the default paths documented in the ld man page. We trust that linker will do the right thing, even if we don't know of its default linker paths. We also need to opt out of the default fallback logic to set the libdirs to /lib and /usr/lib. This may result in UnixMakefileGenerator::findLibraries finding different libraries than expected, if additional paths are passed with -L, which will then take precedence for qmake, even if the linker itself will use the library from the SDK's default paths. This should hopefully not be an issue in practice, as we don't turn -lFoo into absolute paths in qmake, so the only risk is that we're picking up the wrong prl files and adding additional dependencies that the lib in the SDK doesn't have. Change-Id: I2347b26e2df0828471373b0e15b8c9089274c65d Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> (cherry picked from commit cdf64b0e47115cc473e1afd1472b4b09e130b2a5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 269903a5db40c2eeb7b7b2d5d1f98a119486e7c9)
* IPC: Move the legacy key to the QNativeIpcKeyThiago Macieira2023-09-227-27/+173
| | | | | | | | | | | | | | | | | | This is needed to support passing it to other processes so they can enable legacy, compatibility mode. Right now, there's no such code, but I am 90% certain we'll need it soon in 6.6.x, if not for compatibility changes in the future. There's a bug in passing a QNativeIpcKey to another process that causes QSharedMemory to use the wrong QSystemSemaphore for control (a feature that should never have existed in the first place, but we're 15 years too late on that). I have not yet investigated a fix for this, but it will likely involve knowing the original legacy key. Change-Id: Idd5e1bb52be047d7b4fffffd1750b547013cb336 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 9edb835904a7fa856e482464a7258019d5766333) (cherry picked from commit 271d38b0ef6d9e77f7e242bf3081e0571662ae1c)
* IPC: make the two platformSafeKey functions return QNativeIpcKeyThiago Macieira2023-09-224-45/+51
| | | | | | | | | | | | | | | | | | | There's no need to return QString, only to create the QNativeIpcKey elsewhere, when nothing uses this intermediary QString (those two functions aren't used in unit tests any more, since the two "IPC: add native key support" commits (2c286561bbc9e4e408d34e5bf43db8ad9acc0e84 and 3ae052d3bb5d7af0badf32575a5aa042cffd8243). Since they aren't used in the tests, we can remove the Q_AUTOTEST_EXPORT macro too and the unnecessary default argument. I'll need the ability to return QNativeIpcKey to store the original, legacy key inside of it. Change-Id: Idd5e1bb52be047d7b4fffffd17506c05e4f61f79 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit b5584ed2240abe3892fa5b0a23b3ad093ed9fec2) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 608b08f4d57369378b1a101b78a46202bd17c11a)
* Make examples/bindableproperties a proper projectKai Köhne2023-09-234-81/+54
| | | | | | | | | | | | | | Both executables (subscription, bindablesubscription) are documented as one project. Make sure that e.g. Qt Creator can also load this project. Fixes: QTBUG-117109 Change-Id: I3912f2f76379940b02f3a57a7a55440a30366755 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit f2ec221bd62b8722915db9fc7dc3eb78991f6e6d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit f5056133a35e15ea2d57beed2e015f8bf802cdfc)
* QItemSelectionModel: don't warn when destroying the modelVolker Hilsheimer2023-09-232-3/+20
| | | | | | | | | | | | | | | | | | | | | | Amends 4f4a8e75ab34003a4a49b89392ae7712415ac788, after which QItemSelectionModel printed a warning when destroying the model. We reset the selection model in response to the model getting destroyed, and since the model is already set to be nullptr at this point the select() function complains about changing the selection with no model set being a no-op. Fix this by not calling reset() when the model gets destroyed - the stored selection and currentIndex are already reset at this point - and instead only call reset() when a new model is set in initModel. Fixes: QTBUG-117200 Change-Id: I12fc6b3fb2f2ff2a34b46988d5f58151123f9976 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> (cherry picked from commit dc126de22ea4d38736ae57c08c0b271f3c53fad9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit ae8e356c5152cc62aef55edf50e41125c500cf44) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Docs: Update Links to Android Notifier ExampleNicholas Bennett2023-09-221-0/+1
| | | | | | | | | | | | Added to the list of important links on the Android Platform home page. Task-number: QTBUG-116780 Change-Id: Id65a73d56bff0b288ebb1da098f6dbd8cbbe606e Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> (cherry picked from commit e7847a3258aa4eb6fc51c97a2ac05f57a1eadb53) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 67a4f257b81d57dcb048ae0f0757d5f8702642bc)
* CI: Enable changing chroot in platform config for Debian packagingSimo Fält2023-09-211-7/+17
| | | | | | | | | | Allows us to change the target distro through platform configuration yaml file. Pick-to: 6.6 dev Task-number: QTBUG-117120 Change-Id: Ie6e99e4b25198e27491e6191f57d77dbbe3c4eed Reviewed-by: Toni Saario <toni.saario@qt.io>
* Switch QRgbaFloat api to hardcoded float parameter and return valuesv6.6.0-rc1Allan Sandfeld Jensen2023-09-211-13/+13
| | | | | | | | | | | | This makes it source compatible with Qt 6.5 by allowing us to change FastType to something other than float, which we have done for Qt 6.6 on systems with AVX float16 instructions. Change-Id: I7ebf0c178ba0ff7f04f6788d182a1a000fe31c0c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit baac34de6fcbdcc6ee5eb06c3db16c7eda32f121) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 224d4ad279ab37e99dc6194a2232e9f72ded6225)
* Upgrade Harfbuzz to version 8.2.0Eskil Abrahamsen Blomfeldt2023-09-2154-191/+1171
| | | | | | | | | Task-number: QTBUG-117136 Change-Id: I910c8bff2fe521aa02929b9000fa7f38192d1a51 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 08134e458d7fdd0b9565976046821b3903166dd6) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5a6d960018c1aac70c46ef1f9481b19ce01734df)
* Update public suffix listMarc Mutz2023-09-213-4158/+4192
| | | | | | | | | | | | | Version 1a4824549b093abc3077205ae5386ed57f73806d, fetched on 2023-09-20. Fixes: QTBUG-117138 Change-Id: If288d7fce714384a0132261303de31ad2299c239 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io> Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io> (cherry picked from commit dee68587d5fd3feb99a04ad700f2cd065cf72797) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 99aa3d5ad1e6434edb8ef0a46975cef2fd62e4cb)
* [docs] Fix \since for qHash(qfloat16)Marc Mutz2023-09-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The patch adding the function unexpectedly made it into 6.5 before 6.5.3 was forked off. That's nice, as it reduces the number of releases with a broken implementation, but the documentation and ChangeLog were written assuming a merge for 6.5.4. Fix the documentation. Amends 6da6a17de9ccfcd5458ea72507b131660e0ab948. [ChangeLog][Editorial][QtCore] Delete the old entry for qHash(qfloat16), keep the one from this commit. [ChangeLog][QtCore] Fixed qHash(qfloat16) which was broken from 6.5.0 to 6.5.2, inclusive. If you compiled against one of the affected Qt versions, you need to recompile against either Qt 6.4 or earlier or 6.5.3 or later, because the problematic code is inline. Task-number: QTBUG-116064 Task-number: QTBUG-116076 Change-Id: If8fa35fb8532cf0bbf2ba0438694d95fd9bd6991 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 0f19cafc3cbb85dfd67c5c6f7421943e9c063ea1) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 8e14e13c16249f5dd4f25e8d681498e393241493)
* SQLite: Update SQLite to v3.43.1Andy Shaw2023-09-193-92/+101
| | | | | | | | | | | [ChangeLog][Third-Party Code] Updated SQLite to v3.43.1 Fixes: QTBUG-117139 Change-Id: Id4f7d55adb317f009613245510c4eb26678ddc7a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 4583d808ea50beb8da9302f34eacfc1e9a2ed907) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 406ad89a3b97ab654b1ce833634eee167b954433)
* Sync rhi backingstore prefer-software env.var with QuickLaszlo Agocs2023-09-191-0/+5
| | | | | | | | | | | | | | | Behaving differently in QQuickWindow vs. a QRhi-based widget window is not great for WebEngine. The env.var naming is not the best (QSG prefix) but we already have some precedent for this (recognizing QSG_INFO in QRhi), and there is no other choice anyway. Task-number: QTBUG-116445 Change-Id: Ibfd495cbd1d42502441d6629325bdeb033e813f3 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit ffb857e9d0745fdd31bca091333f1120c5857d7b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 69c0ca3174e2484a241dcfbeb786084eca3c57e5)
* Upgrade to Freetype 2.13.2Eskil Abrahamsen Blomfeldt2023-09-1937-3169/+320
| | | | | | | | | Task-number: QTBUG-117135 Change-Id: I2485cf286f590eccee9c4be4bb19559631288fd5 Reviewed-by: Christian Strømme <christian.stromme@qt.io> (cherry picked from commit 5641a5e1e54c9694a1ba1d462165db9c7c0e529c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit b2e888dc812762df9054e982929a894a1fab8a52)
* CMake: Fix condition of the ipc_posix featureJoerg Bornemann2023-09-181-1/+1
| | | | | | | | | | | | | | | | | | The ipc_posix feature was OFF despite the following test values: TEST_posix_shm ON TEST_posix_sem ON TEST_sysv_shm OFF TEST_sysv_sem OFF The 'NOT (TEST_sysv_shm AND TEST_sysv_sem)' part of the condition is not correctly evaluated. Resolve the parentheses to work around this issue. Fixes: QTBUG-117052 Change-Id: Idac23d207f8dd644d059977ca41b6e32b17b3a49 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 828770c60c1c0342a015fc7fe2d6e714f645fb64) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 5c9fa4ca4a88a83c8fab84ce22f68af9c0a6a893)
* qmake: Bump supported macOS SDK version to 14 (Sonoma)Tor Arne Vestbø2023-09-181-1/+1
| | | | | | | | Change-Id: I49f97e844729f2b99af6efad00d024db13050ea1 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 34a0dbc3a944127e48d14b6e032a8c05e8c580b5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit ea4f2e854697be8333382b8d7a9e43db1ac0d431)
* IPC: Remove the "small" object optimization in QNativeIpcKeyThiago Macieira2023-09-183-86/+47
| | | | | | | | | | | | | | | | | | The original design was supposed to be small, at a single pointer, but that never made it through, with the "QString key" member. So the anonymous union for typeAndFlags overlapping with the extension pointer was just unnecessary headache. So separate the two. This means QNativeIpcKey's size increases from 4 pointers to 40 bytes on 64-bit systems and to 24 bytes on 32-bit systems (so we have 6 unused bytes on both architectures). Fixes: QTBUG-116821 Change-Id: I512648fd617741199e67fffd1782b7d5ba5ddd12 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit eb5c5a76cf369dd5e40289c1013f043c7e82ff2e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit ef5f2322a767d84d31dc67d0be9a751054cf8b19)
* IPC: disallow unknown queries in QNativeIpcKey string formThiago Macieira2023-09-182-4/+7
| | | | | | | | | | | So we can add them in the future but cause older versions of Qt to reject them if they don't know what they are. Change-Id: I512648fd617741199e67fffd1782b85935bb832a Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 18867845eb77537c4125e1da4dfcd049e303ee27) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit a5a1231d527a259d0dac9dc62e04a284fe183d51)
* Iterate over all extraPrefixDirs when collecting "directories"Alexey Edelev2023-09-181-5/+22
| | | | | | | | | | | | | | | | | | | When collecting plugins required for the android application according to linked targets we should take into account all prefix directories. But not only the first one. Otherwise the order we use when adding paths to extraPrefixDirs will affect collecting of the plugins. This specifically leads to the issue if the user project builds custom Qt plugins. The plugin directory from user project build tree will be found first and all plugins from Qt installation directory are discarded. Fixes: QTBUG-116920 Change-Id: Id94ebaf5ccd1a279a74b38b59ff535f45230e1b4 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 630d3328ddc35a02c42fa6501636eaee6eb76a37) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 38f03c87193194dcb7aff1eb9c1fd63820839c0f)
* QtFuture: Prevent whenAll()/whenAny() from creating reference cyclesArno Rehn2023-09-182-6/+43
| | | | | | | | | | | | | | whenAll() and whenAny() create a shared context object which is referenced by the continuation lambda. The refcount of context is only correctly managed when it is copied non-const to the lambda's capture list. Fixes: QTBUG-116731 Change-Id: I8e79e1a0dc867f69bbacf1ed873f353a18f6ad38 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit ba2ebc24a1b29020699dc2282b05a60506b56c6d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit a2792bac1a6077460f288a2b918449011f8c89d6)
* Fix crash when reading corrupt font dataEskil Abrahamsen Blomfeldt2023-09-151-16/+51
| | | | | | | | | | | | | | | | | | When loading the font data, we had some unprotected reads. To harden this, we check everything against the length of the font data before reading. [ChangeLog][QtGui][Windows] Fixed a possible crash that could happen when loading corrupted font data. Fixes: QTBUG-116773 Change-Id: I156df3b8833c9ed785fcc690821a7a74d9a51126 Reviewed-by: Lars Knoll <lars@knoll.priv.no> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 9fe47cf2e11d7c9ad4f72e6fc5e53f10a9743b03) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit d0ed5db78160ce7c16d9fffef79aa11a7783e34e)
* Long live Q_(U)INT128_C()!Marc Mutz2023-09-153-8/+243
| | | | | | | | | | | | | | | | | | | Compilers that support 128-bit integer types usually don't have support for 128-bit literals, so provide Q_(U)INT128_C macros and back them with UDLs. This, of course, only works in C++, so until compilers provide built-in literals that support C, too, that's all we get. [ChangeLog][QtCore] Added Q_INT128_C() and Q_UINT128_C() macros to create qint128 and quint128 literals in a platform-independent way. Fixes: QTBUG-116822 Change-Id: I4be645baf2e007ee1aa1a27f9b5166671806dc49 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 16433a4a6ed22750adfdb9633149c3bd485c4656) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 321dcd1d1d0fdd627160e882c471529baa6cafa7)
* Long live Q_(U)INT128_MIN/MAX!Marc Mutz2023-09-154-5/+135
| | | | | | | | | | | | | | | | Since compilers don't provide such macros, do it ourselves. In order to test these macros, add ad-hoc specializations of QTest::toString() for qint128 and quint128 locally to the test. Turns out it's not too hard to write them, so we might move them to a public header, yet. Change-Id: I1483f3af2ccec6038e1c780649f9ffe413bb59ef Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 104a0a9ecdb18d65e4d9075d87e8860c6c9d8335) (cherry picked from commit 09bf722590ca6d1482b6605e1dffaaadd863e125) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Revamp Mandelbrot example: Revisit the documentatonRym Bouabid2023-09-152-4/+4
| | | | | | | | | | | | | | | | | Remove "Example" from the title. Edit the link (title) to the documentation of Mandelbrot in QThread documentation. Delete the foreach related sentence as we are trying to port away from this Qt pseudo-keyword. Task-number: QTBUG-108861 Change-Id: I6d04f24ac9c1fa1efe30a947c2da2ec7475edc80 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> (cherry picked from commit 73a1ae6ea91cbcc7ddfd80defd78ac924dea4c6e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit e9d400b4aae39519d11db95904800e0e36721188)
* Revamp Mandelbrot example: Add const/constexpr when applicableRym Bouabid2023-09-152-25/+24
| | | | | | | | | | | | | | Add const in front of local variables when applicable. Replace const by constexpr when the value of the variable can be calculated at compile-time. Task-number: QTBUG-108861 Change-Id: I2cd1bc97aaa07d6d564731d9ccddba9a74e96fef Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> (cherry picked from commit 7903a52d46401e224f1d85067d51bf443066cbec) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit f67e649e9b47122c0cbe6bc03d82dfbca8a5949c)
* Docs: Add macros for common Qt productsNicholas Bennett2023-09-141-0/+3
| | | | | | | | | | | | | Added macros for Qt for Android Automotive, Qt Online Installer, and Qt Maintenance Tool. Task-number: QTBUG-116562 Change-Id: I0ef3bc0fd6b1ddf94c8be2feed7cf5e691c4776f Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Esa Törmänen <esa.tormanen@qt.io> Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io> (cherry picked from commit a9c63e826caebe0ad7621c63fb6e7637a86f59b6) Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
* Add some tests for q(u)int128Marc Mutz2023-09-143-0/+25
| | | | | | | | | | | | Check that QIntegerForSize<16> and std::numeric_limits<quint128> work and that q(u)int128 are available in C mode, too. Change-Id: I44af8282399c78f6e74a8268af53bad64407ca34 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 32f66f7008ce8fff1a8cdc5219978d1a61d4684c) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 297aa6d751fbbb034f14eb376fcbbdca358cc593) Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Document q(u)int128 and QT_SUPPORTS_INT128Marc Mutz2023-09-141-0/+33
| | | | | | | | | | | | | | [ChangeLog][QtCore] Added qint128 and quint128 typedefs on platforms that support them. Fixes: QTBUG-116925 Change-Id: Ibd55cb0b1931b48a91598d3165e5911e3a4079f2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 454636afec1be8d4483b65ae564487eca9734ffd) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit 66d10dc25369bfb03fb526ada97394b8af114039) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Mark feature API in QFont as preliminaryEskil Abrahamsen Blomfeldt2023-09-142-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Using ints for the tags is not ideal. There is no type safe way to do conversions from strings, and how the int corresponds to the four-byte tag is not clear from the API, so user code can end up being less readable due to this. Especially since this type of tag is a data type used several places in fonts, and we will need them again for implementing support for variable axes, it's worth giving this an extra round of polish. Since it was not addressed in a timely manner and we don't want this to delay the upcoming release, we mark the API as preliminary for now, to give ourselves the option of changing it to something. Fixes: QTBUG-116929 Change-Id: I498478785dcd5ece954151f01f1a017828d6b8b8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io> (cherry picked from commit 6ab362a7eaddd6b2e867c9de6dbb04b7f760d005) (cherry picked from commit 8055247fc0426d64e24d9d21a4ea5b984afa61fe) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* QString: fix append() wrt. raw dataMårten Nordheim2023-09-133-1/+36
| | | | | | | | | | | | | | | | | | | | | | | When appending to an empty string, we optimize and copy the internal pointer. But if the other string was created with fromRawData this might be temporary data on the stack/heap and might be de-allocated or overwritten before the string is used or is forced to make a deep-copy. This would lead to incorrect data being used. This is easy to overlook if you plan to append multiple strings together, potentially supplied through an argument. Upon appending a second string it would make a full copy, but there might not be a guarantee for that. So, it's hard for users to avoid this pitfall! Fixes: QTBUG-115752 Change-Id: Ia9aa5f463121c2ce2e0e8eee8a6c8612b7297f2b Reviewed-by: Ahmad Samir <a.samirh78@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 4660a230d527a9cffda41999103aba6ff5c2ecd5) Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> (cherry picked from commit d4a6c81081db24812a043c44d0d3d683b53e7d80) Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
* Fix qHash(qfloat16) to match Qt 6.4 behaviorMarc Mutz2023-09-123-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were two problems: - On platforms where QFLOAT16_IS_NATIVE == true, a qHash(qfloat16{}) call has become ambiguous between the three FP qHash() overloads (float, double, long double), where it was unambiguously calling the float one in Qt 6.4. This SiC was caused by the replacement of operator float() by operator __fp16() in 99c7f0419e66692260be56c0385badeacb3f6760, which is in Qt 6.5. - On platforms where QFLOAT16_IS_NATIVE == false, qHash(qfloat16{}) would produce a different value from qHash(float{}), and therefore Qt 6.4, when the seed was != 0, because the former would go via the one-arg-to-two-arg qHash adapter while the latter one would not. Since participating functions are inline, this causes old and new code to produce different hash values for the same qfloat16, leading to a BiC possibly corrupting QHash etc. Fix both by adding an explicit qHash(qfloat16). This function is inline, so it doesn't add a new symbol to 6.5.x. [ChangeLog][QtCore] Fixed qHash(qfloat16) which was broken from 6.5.0 to 6.5.3, inclusive. If you compiled against one of the affected Qt versions, you need to recompile against either Qt 6.4 or earlier or 6.5.4 or later, because the problematic code is inline. Pick-to: 6.5 Fixes: QTBUG-116064 Fixes: QTBUG-116076 Change-Id: Id02bc29a6c3ec463352f4bef314c040369081e9b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 6da6a17de9ccfcd5458ea72507b131660e0ab948) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Qt UDLs: avoid the deprecated form of UDL definitionsMarc Mutz2023-09-124-6/+6
| | | | | | | | | | | | | | | | cppreference.com says¹ that the space after the "" is deprecated now, so remove the space. Let's just hope all our compilers support this, otherwise it will get ugly². ¹ https://en.cppreference.com/w/cpp/language/user_literal#Literal_operators ² https://github.com/yhirose/cpp-httplib/issues/953 Pick-to: 6.5 6.2 Change-Id: Ic8e4939e3ba713023c5a5c020305c96b521dbda9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 5503b478935aee563d31c5df035803818f4cead3) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* embeddedwindows: Mask the painting manually by applying a clipTor Arne Vestbø2023-09-121-0/+2
| | | | | | | | | | | | QWindow::setMask() is not guaranteed to turn the masked out areas transparent, and it's up to the client to ensure this during painting. Change-Id: I1155b3ad095152a993532f2290cacb670e20daa7 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit 5ce4aecd495667a50dd121930f9ca39dc07cfc36) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* syncqt: Add the missing is_open check to writeIfDifferentAlexey Edelev2023-09-121-0/+4
| | | | | | | | Pick-to: 6.5 Change-Id: I2a969483d20f250083c1a262bd3bfc696a7f0df4 Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> (cherry picked from commit a86fb92d4bc1a64703cabf351035efc861ea54dd) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* syncqt: Mark updateOrCopy as exception freeAlexey Edelev2023-09-121-2/+3
| | | | | | | | | Pick-to: 6.5 Change-Id: I4ac468ef503775bca7d3848d26b42990bb4fdd1a Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit cab5ede6a3890b9cc07e54a0558a577c932ec21a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* embeddedwindows: Fill bounds, instead of event rectTor Arne Vestbø2023-09-121-2/+3
| | | | | | | | | | | | The event might come from a partial expose, but we want to fill the entire bounds of the window, as we're filling with a gradient. Change-Id: I66cedb160fb0ed06935c06ba2fe5dec9ed468833 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 61c043333b255afcd83260b78027242fc27a2e83) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* syncqt: Handle possible exceptions thrown by std::filesystem::create_directoriesAlexey Edelev2023-09-121-7/+33
| | | | | | | | | | | Wrap the directory creation logic with try/catch to handle possible file system exceptions. Pick-to: 6.5 Change-Id: I11ad4552dccfdc8cc8a4ec4912d0a15d0f9557c6 Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> (cherry picked from commit 7164cce881c3d65eb18749471ba5e358c7d5998a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* syncqt: Add the missing file stream close callsAlexey Edelev2023-09-121-0/+2
| | | | | | | | | | | Call close explicitly to avoid any issues related to non-closed file descriptors. Pick-to: 6.5 Change-Id: I02df30032dc04afd5d135d707eff4a6efe6a3ea5 Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io> (cherry picked from commit e9ca247479206b3d6f3815c599a244d9bfbae394) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* syncqt: Generate the deprecated header in the framework directory tooAlexey Edelev2023-09-121-2/+10
| | | | | | | | | | | | | Generate the missing deprecated header in the framework directory for the cross-module deprecation case. Amends 7e84a04563142d217317928865a8f6475d189d95 Pick-to: 6.5 Change-Id: Ibb2d262e41c6de7dfb34c39cabd6b19c43aa9636 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 09c46d63af3ea68d7b49c395b9375d2b5d3ed666) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* xcb: Reflect geometry of foreign window on creationTor Arne Vestbø2023-09-123-4/+13
| | | | | | | Change-Id: I305b256696a32454f64c12c5a8901b65506fc520 Reviewed-by: Liang Qi <liang.qi@qt.io> (cherry picked from commit 4e2e3a6b4fe0ff5e1930707808f02e3be9343312) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* tst_QDnsLookup: skip a unittest on WindowsAhmad Samir2023-09-121-0/+4
| | | | | | | | | See code review 496440 on Gerrit for the details. Change-Id: Ibd32a44cf7e2e07f36687cc2f0eeaf3008f64e73 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> (cherry picked from commit 9b40272562cb8f83efcd8a062c76edc41a9cf952)
* tst_QDnsLookup: fix typo in CMakeListst.txtAhmad Samir2023-09-121-1/+1
| | | | | | | | | | | | | There was an extra `q` before dnslookup. Found while trying to build tst_qdnslookup, the target wasn't seen by CMake/Ninja. Change-Id: Id594aab30dc9081fc269541561e0f2db5e615657 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 0ce51dee0e3c0d0e49c2ad211bdbbed03003d3a4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* tst_qdnslookup: fix the location of the opcode in the headerThiago Macieira2023-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were reading the wrong byte with the wrong shift count. 4.1.1. Header section format The header contains the following fields: 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ID | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ |QR| Opcode |AA|TC|RD|RA| Z | RCODE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | QDCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ANCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | NSCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ARCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ This diagram is big-endian, so bit 0 is the MSB. Change-Id: I964c2b1e6b834feb9710fffd177bb72110bb77e7 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 19673b6cf949dce5d0cd8efa4ad6f91c9f26f06f) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove dead code in QMessageBoxAxel Spoerl2023-09-121-10/+0
| | | | | | | | | | Remove code guarded by #ifdef 0 Task-number: QTBUG-115832 Change-Id: I7d1dfd3dca2d8cda455d73f90dc2ae142ea41118 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit b2f4e1e395bba4b72d5e1d5cc6e4469b97731a65) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* doc: Remove QSettings' paths for embedded linuxMohammadHossein Qanbari2023-09-121-6/+4
| | | | | | | | | | | Embedded Linux is just Linux nowadays. Fixes: QTBUG-116715 Change-Id: I1f64d27550db6f711c7f1f578e85cad12d0973aa Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> (cherry picked from commit d8b7c03cc5b82276c74b6f210dc18a324ede3105) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Turn Directions enum into an enum class in serialization converterEdward Welbourne2023-09-129-13/+15
| | | | | | | | Task-number: QTBUG-111228 Change-Id: Ie1f8ea5e2575427528c19875db7a8e4e27200aec Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> (cherry picked from commit e53d0220da4906f88494933ff3b0076335ad065f)