summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Reorganize sections structure in Qt Widgets landing pageAndreas Eliasson2022-03-221-20/+21
| | | | | | | | | | Also, use the global include snippets for the 'Using the Module' section. Task-number: QTBUG-100369 Pick-to: 6.3 Change-Id: Ib9e32dd48689879c91c7c307f8cf0f01dc478efe Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Conan: Fix typo in recipeIikka Eklund2022-03-221-1/+1
| | | | | | | | Fix indentation of a function declaration. Pick-to: 6.3 6.3.0 Change-Id: Ib2aed12f2549e4b0ee5ee21a59c2c7b9db726a7e Reviewed-by: Toni Saario <toni.saario@qt.io>
* QNX: Fix compiler warning by when FEATURE_clipboard is not enabledPasi Petäjäjärvi2022-03-221-0/+2
| | | | | | | | | warning: unused parameter 'selectionClipboard' [-Wunused-parameter] Pick-to: 6.2 6.3 5.15 Task-number: QTBUG-101382 Change-Id: I4f42a6f41c8f8a8b3edd3a042c89b7a2a49a96fe Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* qversiontagging.h: remove the attempt to use the "retain" attributeThiago Macieira2022-03-211-5/+1
| | | | | | | | | | | GCC 11 knows about it, meaning __has_attribute(retain) = 1 regardless of whether GCC can emit code for it. Clang has a similar limitation. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99587 Fixes: QTBUG-101753 Change-Id: Ic30914a4448d4bc28974fffd16dce9a78cdefe5b Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* CI: QNX qemu need docker service ports explicitly defined for visibilityPasi Petäjäjärvi2022-03-212-0/+202
| | | | | | | | | | | | Network autotests cannot connect to services on docker containers from QNX qemu without all ports explicitly defined (both host and container) side. Pick-to: 6.2 6.3 Task-number: QTQAINFRA-4684 Change-Id: Iba44cfa17d42d43ecec3e29985e404f75d5fc232 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
* Install QtCopyFileIfDifferent as the 'public' cmake helperAlexey Edelev2022-03-211-1/+1
| | | | | | | | | | | QtCopyFileIfDifferent needs to be both installed and copied to a build folder as a public CMake helper. Otherwise it's not found when building tests inside the Qt build tree. Pick-to: 6.2 6.3 Fixes: QTBUG-101916 Change-Id: I8d081e594fe694f528ebac4c13bbdf6d3b8402b9 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* qsql_ibase: fix includesShawn Rutledge2022-03-211-13/+14
| | | | | | | | | QMap was a transitive include, apparently; and we have mostly standardized on specifying the module where each include comes from. Change-Id: I1a54db879e744120f5b10eb0b16f8ba36cde8300 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QProperty: Allow manual scheduling of binding notificationUlf Hermann2022-03-212-0/+17
| | | | | | | | | In some situation we want to notify even if the value didn't change. Task-number: QTBUG-101771 Pick-to: 6.2 6.3 Change-Id: I7d82a9f6e0f7d5eb48065e3f428b814939181ea8 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Fix warning in tst_qfutureVolker Hilsheimer2022-03-211-1/+1
| | | | | | | | | | | | | | | Explicitly move the argument into the return value to silence: qfuture_impl.h:153:20: warning: local variable 'arg' will be copied despite being returned by name [-Wreturn-std-move] return arg; ^~~ [...] qfuture_impl.h:153:20: note: call 'std::move' explicitly to avoid copying Change-Id: I49fab7c31efb7d809182c8d56e6a5ed8f05a5622 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Replace deprecated QColor::fromString in tests and documentationVolker Hilsheimer2022-03-213-4/+4
| | | | | | | | Don't use deprecated methods in tests, and don't refer to them in documentation. Change-Id: I110480742d9a7b9b0a2e194e3fe610208c1e07da Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QTabBar: let styles draw tab text with foreground roleVolker Hilsheimer2022-03-213-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | QTabBar::setTabTextColor's documentation and implementation suggests that the set color will always be used unless invalid, and that the foreground role is used otherwise. QTabBar then sets the foregroundRole palette entry to the specified color before calling the style. The intent is evidently that the tabTextColor is used no matter the foregroundRole (which by default is the role that contrasts with the background role). If the styles always paint the text with WindowText, then the tabTextColor gets ignored if the foregroundRole is not WindowText (perhaps because the backgroundRole is set to Base). Fix this by respecting the widget's foregroundRole when painting the tab label in the common style (which is the only style that implements drawControl for CE_TabBarTabLabel). QMacStyle and QStyleSheetStyle need to be adjusted to prepare the palette consistently with the logic in QTabBar. Pick-to: 6.3 6.2 Fixes: QTBUG-101456 Change-Id: I077a2034eebfe3f56cea28917494f4db01e48747 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QAnyStringView: constexpr detect 8-bit ASCII as Latin 1Øystein Heskestad2022-03-212-7/+67
| | | | | | | | | | This has performance benefits when doing comparisons. The check is only performed at compile time. Task-number: QTBUG-101014 Change-Id: I55694b045fe5e75d9671d0a3a70c80d998cf98c8 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtPlatformSupport: add support for detecting webOSJanne Juntunen2022-03-211-0/+4
| | | | | | | | | | Some autotest CMakeLists.txts need to know whether the target is webOS. This change enables that. Task-number: QTBUG-101933 Pick-to: 6.3 Change-Id: I7b4ebe89622a4ad8bc313e807d9fa50152c96d14 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Remove mentionings of overflows from QElapsedTimerKai Köhne2022-03-211-19/+8
| | | | | | | | | The last 32 timer that could overflow was not used anymore since Qt 5.9, see also commit aaa3184f8d. This appends commit aaa3184f8d5d. Pick-to: 6.3 6.2 5.15 Change-Id: If033a5fa7a58427bcbc643cc19fc73a8dd36a169 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Unify DEPFILE support checkAlexey Edelev2022-03-212-7/+15
| | | | | | | | | Add common function that unifies the check for the DEPFILE support. Update the check according to the recent CMake version. Task-number: QTBUG-99354 Change-Id: Ia2abf46fe3a9a3d17ea7a37eaf6c9c6a697c5b84 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix build with latest Apple clang versionVolker Hilsheimer2022-03-211-2/+2
| | | | | | | | | | | | | | | | | | Building with Apple clang 13.1.6.13160021 (from command line tools 13.3) results in qhash.cpp:754:39: error: passing 16-byte aligned argument to 32-byte aligned parameter 3 of 'operator()' may result in an unaligned pointer access [-Werror,-Walign-mismatch] hash2x32bytes(state0, state1, src, src + 1); ^ Help the compiler with deducing the right type for 'src' and 'srcend'. Also makes 'src' const explicitly. Change-Id: Id14a034f0fa4c2a002d9b37729d803a50a0e5e9c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNX: always create buffers for child windowsRafael Roquetto2022-03-212-21/+7
| | | | | | | | | | | | | | | | | The QNX raster backend worked on the assumption that child windows were sharing their parent toplevel window buffer instead, and thus did not have a buffer of their own. This piece of code dates back from the BlackBerry days, and I am guessing the motivation was to tackle mmrenderer/foreign windows. In fact, not having buffers causes QWindow to malfunction, as independent buffers are required. This patch makes sure every QQnxWindow has a backing buffer, as expected. Foreign widnows shall be dealt with via different means. Change-Id: I059ac4f8ac684b3577048f874f82b866f21326b1 Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
* Fix warning from deprecated QMouseEvent constructor on macOSVolker Hilsheimer2022-03-211-2/+2
| | | | | | | | Pass global position explicitly. Pick-to: 6.3 Change-Id: I4b9bf735635528c4a289be7db6026162d5a7aff6 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Build QMenuBar test without warningVolker Hilsheimer2022-03-201-1/+1
| | | | | | | | Adapt to changes in QWidget::addAction API from 08e4d2db084f6abbf1840ff. Pick-to: 6.3 Change-Id: If6e05b47de88cf55070238f08b96586b855cc5c1 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Fix build on macOS without warning after QString::count deprecationVolker Hilsheimer2022-03-201-2/+2
| | | | | | Pick-to: 6.3 Change-Id: Ie043289c258fadbfafaf4a88b9695f0e65699de8 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Remove a now-unneeded QT_NO_OPENGL ifdefLaszlo Agocs2022-03-201-2/+0
| | | | | | | | | | | | This is from a fix unrelated to the recent rhi-based composition work, which means it still had to enclose the block in an ifdef due to the variables being only present in OpenGL-enabled builds. Now with the other patches in place, the variables are no longer conditional, and the similar ifndef QT_NO_OPENGL checks are already gone pretty much everywhere so the ifdef is not needed here either. Change-Id: I497c7a4fad7cd7d8fc1a479e7032de3e2cbb3b32 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Rename tst_qlatin1string and switch to using QLatin1StringViewSona Kurazyan2022-03-195-94/+93
| | | | | | Task-number: QTBUG-98434 Change-Id: Iec477835880263175edbc03f21b40f1ad67dbef0 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add QLatin1StringView as an alias for QLatin1StringSona Kurazyan2022-03-192-0/+37
| | | | | | | | | | | | | | And switch to using QLatin1StringView for bootstrap builds and Qt 7. [ChangeLog][QtCore] Added QLatin1StringView as an alias for QLatin1String. Task-number: QTBUG-98434 Change-Id: Iefb860b63eb05ef4755b2e26de265e6e6e4420b3 Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QtGui: compile-optimize inline swap functionsMarc Mutz2022-03-1923-26/+26
| | | | | | | | | | | | | | | | | | Instead of using the overly-generic qSwap() monster, use - qt_ptr_swap() for swapping raw pointers - member-swap for swapping smart pointers - std::swap() for swapping scalars In QtCore, this has proven to give a nice reduction in compile time for Qt users, cf. b1b0c2970e480ef460a61f37fa430dc443390358. Pick-to: 6.3 6.2 Task-number: QTBUG-97601 Change-Id: I987ff95e8751a22a4f283655d8225dd16de21178 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* qversiontagging: Fix the imp prefix for 32 bit armMartin Storsjö2022-03-191-5/+5
| | | | | | | | The underscore symbol prefix is only used on 32 bit x86, not on other 32 bit architectures such as arm. Change-Id: Iac82f2d70c8b0c811faa7af5b59805b388b0a00c Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* CMake: Don't build the movie example if the feature is disabledAlexandru Croitor2022-03-191-1/+3
| | | | | | | Pick-to: 6.2 6.3 Fixes: QTBUG-101897 Change-Id: Idef9aaa0c0a0380b88d8769cb19becd613b2173b Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* QRect: add toRectF()Marc Mutz2022-03-193-5/+62
| | | | | | | | | | For symmetry with QRectF::toRect(). [ChangeLog][QtCore][QRect] Added toRectF(). Fixes: QTBUG-73160 Change-Id: If2bda64b8fe4bc113191dda927e9bb86ebcb4c69 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QLine/QMargins: add toLineF/toMarginsF()Marc Mutz2022-03-196-9/+109
| | | | | | | | | | | | | For symmetry with QLineF::toLine(). [ChangeLog][QtCore][QLine] Added toLineF(). [ChangeLog][QtCore][QMargins] Added toMarginsF(). Task-number: QTBUG-73160 Change-Id: I69051cdd2fe4a3c0a000ab86e363a2918a7aea7c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QSize/QPoint: add toSizeF/toPointF()Marc Mutz2022-03-196-10/+96
| | | | | | | | | | | | | For symmetry with QSizeF::toSize(). [ChangeLog][QtCore][QSize] Added toSizeF(). [ChangeLog][QtCore][QPoint] Added toPointF(). Task-number: QTBUG-73160 Change-Id: I65b088b4f7365ab671ef2f0c75821b707f5ac26d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QMargins: fix a missing "full stop" in the docsMarc Mutz2022-03-191-1/+1
| | | | | | Pick-to: 6.3 6.2 5.15 Change-Id: Ic8012ce12ef8d2fee2dc785e373e9c9d8f658ff5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QObject: restore flags printing in dumpObjectTree()Marc Mutz2022-03-195-17/+75
| | | | | | | | | | | | | | | | | | | | This was lost when QtCore, QtGui and QtWidgets were split up. Restored now via a virtual function on QObjectPrivate. Chose to return std::string instead of QString or QByteArray because its SSO is usually sufficient to hold these flag strings. [ChangeLog][QtCore][QObject] Restored printing of Qt3-style information from dumpObjectTree(). [ChangeLog][QtWidgets][QWidget] Restored printing of Qt3-style information from QWidget::dumpObjectTree(). Fixes: QTBUG-101732 Change-Id: I39ff5728ea5f5abbdbf81b5d7e13b8d16b6ee8b7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QSettings: port key processing to QAnyStringViewMarc Mutz2022-03-193-44/+71
| | | | | | | | | | | | | | | | | | | | | | | ... in preparation for replacing the QString keys in the public API with QAnyStringView ones. This removes the "important optimization" that avoids a detach in the common case where the input is the same as the output of normalization. But that optimization is beside the point, because it trades a memory allocation avoided in the library for O(N) allocations inserted into user code for each call to QSettings::value(), the vast majority of which are calls with string literals. With the public interface ported to QAnyStringView in the follow-up patch, we can then internally optimize memory allocations _in a central place_ (e.g. by returning std::u16string or QVarLengthArray<QChar> from normalizeKey() instead of QString). But first we need to get rid of all the unwarranted allocations in user code. Change-Id: I45fc83d972c552a220c9c29508001d3f172e1162 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* QJsonValueConstRef: fix null pointer dereferencesThiago Macieira2022-03-182-2/+2
| | | | | | | | | Introduced in commit 705ea62f9e08730793adc7f6cec753c88e66ac4e, but apparently these constructors aren't used anywhere yet. Change-Id: Ic30914a4448d4bc28974fffd16dc521ab49d3be4 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Refactor: use lambdas for visitor pattern in QGraphicsSceneBspTreeVolker Hilsheimer2022-03-182-72/+26
| | | | | | | | | | This way, the visitor implementations are directly where they are used, without the need for a virtual function call. The allocation of the visitors on the heap was anyway overkill (they could just have been allocated on the stack where they were used). Change-Id: Ic41fd285e3a45daaf2e17aa5aeee07e754127a00 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* When clearing selected items, iterate over a copy of the QSetVolker Hilsheimer2022-03-182-2/+73
| | | | | | | | | | | | | | | | Selection change handlers of the items might call a method that implicitly recreates the selectedItems QSet, which then invalidates the iterators of the ranged for loop, resulting in crashes. Iterate over a copy of the set instead. Add a test case that crashen without the fix. Fixes: QTBUG-101651 Pick-to: 6.3 6.2 Change-Id: I6da6f4043fe1906b0186931a37283f635cb5a404 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Enable move semantics for QTemporaryDirLuca Di Sera2022-03-183-3/+115
| | | | | | | | | | | | | | | | | Add move constructor and move assignment operator. To allow for the the change to be implemented QTemporaryDir, the internal d_ptr was modified from a QScopedPointer, which is not movable, to a raw pointer. Add member + free swap implementations. Add tests. [ChangeLog][QtCore][QTemporaryDir] Enabled move semantics. Change-Id: I9f196a77c70b4ca0b7f0c06505d00fdd87a9785c Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Fix -Wunused-but-set-variable in QTcpSocket documentation snippetTor Arne Vestbø2022-03-181-1/+2
| | | | | | | Pick-to: 6.2 6.3 5.15 Task-number: QTBUG-101883 Change-Id: I54dc7229565cef199f306a0ac837a932aeb00ec6 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* macOS: Remove dead code for focus ring handling in Mac styleTor Arne Vestbø2022-03-181-21/+0
| | | | | | | | | | It was added in 375dd7ad3457e335bd454ff91a66412941ae8f99 but never used. Pick-to: 6.2 6.3 5.15 Task-number: QTBUG-101883 Change-Id: Ibad7e0b1c371bdee63bcdbea0c5280091107408a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Add missing includes for some of our _win.cpp filesMårten Nordheim2022-03-182-0/+3
| | | | | Change-Id: I74067f5d50bea6fbc16576c26bf84f91e449e497 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Android: use empty Intent to clear clipboard data on API < 28Ivan Solovev2022-03-182-7/+10
| | | | | | | | | | | | | | | | ClipboardManager didn't have any APIs to clear clipboard data before API level 28. As a workaround an empty Intent with MIMETYPE_UNKNOWN is created and inserted into the clipboard for lower API levels. This makes the QApplication::clipboard()->clear() method work more or less as expected. This allows to unblacklist tst_QPlainTextEdit::copyAvailable(). Task-number: QTBUG-87423 Task-number: QTBUG-89402 Pick-to: 6.3 6.2 Change-Id: I454376199cf3b8eed0fa2ecf2f85b87f40892280 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* uic: use C string literals for setObjectName()Marc Mutz2022-03-18109-1558/+1558
| | | | | | | | | | | | | | | | | | | | | | Because setObjectName() now takes a QAnyStringView, passing C string literals is much more efficient than using QString::fromUtf8(). This patch only deals with setObjectName() as a known property, probably from a name attribute. If the objectName property is set by a <property> element (or so I assume), we still emit a QString::fromUtf8(). Detecting objectName there would be too much magic. Besides, I haven't been able to find why sometimes there's a second setObjectName call right after the first, when in the XML it seems all kosher (name attribute and objectName <property> agreeing on the content). Change-Id: Icf07bad841ac735a9c744bbd955428ba15758089 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* cmake: only use qtbase configuration in qtbaseFabian Kosmale2022-03-181-3/+9
| | | | | | | | | | | | | In a toplevel build, we include qtbase's .cmake.conf twice: Once for qtbase itself, but already earlier to provide some necessary information for the toplevel build. We now detect the latter, and skip setting QT_EXTRA_INTERNAL_TARGET_DEFINES in that case, to ensure that it is only applied to the qtbase itself Task-number: QTBUG-101640 Pick-to: 6.2 6.3 Change-Id: I14dbf6110c79331fac38cceb76f669ca329ad33a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QMutexLocker: code tidiesGiuseppe D'Angelo2022-03-181-2/+2
| | | | | | | Improve the docs for the recently added move operations. Change-Id: Iae17f5289d30faab4aaaec14a27036f7a03129ab Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* tst_qopengl: set surfaceType explicitlyJanne Juntunen2022-03-181-0/+1
| | | | | | | | | | Parent window in sizeLessWindow test was using software pipeline at least on webOS, causing a QCRITICAL() exit when the test was executed. Fixes: QTBUG-101869 Pick-to: 6.3 Change-Id: Ie8cc0ea0b6a09729475389be44197e01a45b217f Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* CMake: Mitigate moc not finding correct headers in framework buildsAlexandru Croitor2022-03-181-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CMake generates compilation rules, it extracts the values from INTERFACE_INCLUDE_DIRECTORIES and checks if any of the values are framework paths. If they are, instead of adding an -I ./lib/My.framework to the compilation rules, it adds -iframework ./lib or -F ./lib. The same transformation does not happen when AUTOMOC passes include paths to moc, nor during a headersclean check. The values there are passed verbatim, with an -I prepended. This causes issues when the include file name is the same as the framework name. E.g. #include <QtQml> + -I ./lib/QtQml.framework because moc then ends up silently including the shared library ./lib/QtQml.framework/QtQml instead of the header ./lib/QtQml.framework/Headers/QtQml This can lead to a variety of silent issues during moc generation, because all the definitions of QtQml will be missing. Unfortunately, there does not seem to be a clean way to fix this in the build system due to CMake semantics. See https://gitlab.kitware.com/cmake/cmake/-/issues/23337 for details. We can mitigate the issue by ensuring that -I ./lib/QtQml.framework/Headers comes before -I ./lib/QtQml.framework by manipulating the order of values in INTERFACE_INCLUDE_DIRECTORIES. We might want to consider implementing an additional mitigation in AUTOMOC, so that it filters out include paths like -I ./lib/QtQml.framework, thus ensuring that a newer CMake version will not exhibit the same issue when used with an older Qt. We could consider doing the same in moc. The advantage of doing it in moc is that that moc will consider fewer invalid include paths when searching for headers. Amends 4b2de41b13eb71c0ce841ef357768a3913b49810 Amends d7efb2a419a88c8f512b98194c8f7bc81dbe942b Pick-to: 6.2 6.3 Fixes: QTBUG-89545 Fixes: QTBUG-101718 Fixes: QTBUG-101775 Change-Id: Ib2c25b5744bd2b5c9c83813bb04ad88c0179f6ec Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Bump QT_DEPRECATED_WARNINGS_SINCEMårten Nordheim2022-03-181-1/+7
| | | | | | | | | When building Qt we should have warnings of any internal use of deprecated API, so set it to Qt7. Also added comments to clarify what the macros do. Change-Id: Ib47278fed9ab1ec4411ed9f69a9a9c0f811db02d Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QMetaType: remove an unused static pointer variableMarc Mutz2022-03-181-2/+1
| | | | | | | | | | | | | Unlike the Gui and Widgets pointers, the Core one wasn't needed, because the only user can inline the variables contents. Saves one relocation. Pick-to: 6.3 Change-Id: Ib7535e1a29c5125eea55c66dad6d2d1de72f6bc1 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QMutexLocker: strenghten the locking operationsGiuseppe D'Angelo2022-03-182-12/+6
| | | | | | | | | | | | | | | There is no reason to allow relock() on a locked locker, or unlock() or an unlocked one, just like we don't allow that on a plain mutex to begin with. The docs already said that e.g. relock() locks an _unlocked_ locker. [ChangeLog][QtCore][QMutexLocker] QMutexLocker allowed relock() and unlock() on an already closed (resp. open) locker object. These semantics have always been undocumented and are now unsupported (in both cases they yield undefined behavior.) Change-Id: Id5f67beb5dc30d6435dae88a3085fba93ec7d96e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* iOS: Use python3 for enumerating test target devicesAlexandru Croitor2022-03-181-1/+1
| | | | | | | | | macOS 12.3 removed python 2 Pick-to: 6.3 6.2 5.15 Fixes: QTBUG-101745 Change-Id: Ieace2623e838cf36a7a68186b0f729ff0f19299a Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QImage::operator==: Also compare the image colorspaceAlbert Astals Cid2022-03-181-1/+1
| | | | | | Pick-to: 6.3 6.2 Change-Id: I4cb86d32492876791fe852f8c3123b7d4a69a5bd Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>