Commit Graph

62861 Commits

Author SHA1 Message Date
Joerg Bornemann
ba96238600 Fix running CMake test projects in prefix builds
Consider the following situation: There are CMake tests in
qttools/tests/auto/cmake that configure and build CMake test projects,
essentially as external projects. One of those test projects does
find_package(Qt6 COMPONENTS LinguistTools). This call fails in a prefix
build, because Qt6LinguistToolsConfig.cmake is not installed yet. It
merely exists in qttools-build/lib/cmake/Qt6LinguistTools.

We must adjust CMAKE_PREFIX_PATH to be able to find Qt6LinguistTools. We
also must adjust QT_ADDITIONAL_PACKAGES_PREFIX_PATH to be able to find
the LinguistTools component of the Qt6 package.

Use the prefixes setup from the support for building examples as
external projects and use it for CMake test projects as well.

Task-number: QTBUG-84884
Change-Id: I1bd5d5084cf931196bdb014cd75ca7578cd9decb
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-08-19 11:03:36 +02:00
Marc Mutz
f780893c39 QRecursiveMutex: make tryLock(QDeadlineTimer) the default (was: int)
The default argument staying on the old int overload meant that on
Windows a nullary tryLock() call would need to go through both DLL-
exported functions (int, then QDeadlineTimer) and on non-Windows
platforms, it would hit the out-of-line QDeadlineTimer(qint64)
ctor.

By moving the default argument from the old to the new function, we
reduce the nullary call on Windows from two to one exported functions.
On non-Windows, we make it to hit QDeadlineTimer's constexpr inline
default ctor instead.

Found in API-review.

Amends ff9da1db0b.

Pick-to: 6.6
Change-Id: Id3e9923cf97ee1673fe05c85c30b5a12531857b3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-08-19 10:30:41 +02:00
Marc Mutz
02add2a807 tst_QImageReader: fix a trivial Q_FOREACH and remove #undef QT_NO_FOREACH
Other recent commits have fixed the other Q_FOREACH uses in this file.

Task-number: QTBUG-115839
Change-Id: I03063f3e8f1e99c5a2aa2d9188260f3e79ca43bd
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2023-08-19 08:19:47 +03:00
Marc Mutz
11d6932560 Mark all of Qt as free of Q_FOREACH, except where it isn't
The density of Q_FOREACH uses in this and some other modules is still
extremely high, too high for anyone to tackle in a short amount of
time. Even if they're not concentrated in just a few TUs, we need to
make progress on a global QT_NO_FOREACH default, so grab the nettle
and stick to our strategy:

Mark the whole of Qt with QT_NO_FOREACH, to prevent new uses from
creeping in, and whitelist the affected TUs by #undef'ing
QT_NO_FOREACH locally, at the top of each file. For TUs that are part
of a larger executable, this requires these files to be compiled
separately, so add them to NO_PCH_SOURCES (which implies
NO_UNITY_BUILD_SOURCES, too).

In tst_qglobal.cpp and tst_qcollections.cpp change the comment on the
#undef QT_NO_FOREACH to indicate that these actually test the macro.

Task-number: QTBUG-115839
Change-Id: Iecc444eb7d43d7e4d037f6e155abe0e14a00a5d6
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-08-19 05:19:42 +00:00
Marc Mutz
1a3f573bd9 QHostInfo: remove usused -Result and -Runnable ctors
Clean up after all users are ported to the SlotObjUniquePtr overloads.

Pick-to: 6.6 6.5
Change-Id: I3e58249296ea9674c45fb412463ae3201518de72
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-08-18 21:02:51 +00:00
Ahmad Samir
5941f192ab tst_QtBench: fix leak
Instead make "benchmarks" a member variable and call qDeleteAll() on it
in cleanupTestCase(). This doesn't make much difference since the
allocated resources would be freed when the whole test is destroyed
anyway, but still.

Change-Id: Iba66d32697fd3f2283185ee65a0a514176b4b258
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-08-18 23:40:29 +03:00
Ahmad Samir
0b3390f33d examples/: fix compiler (GCC) warnings -Wsign-compare
Change-Id: Ie4965e3ce3113e9c7a5d5d5eba4cab143ef1c806
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-08-18 23:35:52 +03:00
Ahmad Samir
ad6fd04609 examples/: fix compiler warnings -Wdeprecated-enum-float-conversion
This is with GCC.

Change-Id: I52dcb6881f36c740129b699db7db9241a4e75da1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-08-18 23:35:52 +03:00
Ahmad Samir
339323b999 examples/: implicit capture of this via [=] is deprecated in C++20
Change-Id: I43b04517e9e3a30468c8ce702c9a49968c0ddc4d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-08-18 23:35:52 +03:00
Ahmad Samir
07c34e4c79 QTimer: put #ifdef qdoc related-lines in one block
Slightly more readable.

Change-Id: Ib945319b4f7606a0796e8ac09f6659e63b7291df
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-08-18 19:56:30 +03:00
Edward Welbourne
15cfdab514 Give QLocale's name() and bcp47Name() separator parameters
Previously name() has always used underscore and bcp47Name() dash; let
the user chose which one best fits their needs.

[ChangeLog][QtCore][QLocale] QLocale's name() and bcp47Name() now let
the caller chose what separator to use between the tags making up the
name, where there is more than one.

Change-Id: Ia689e6a3fb581b42905e7fb1ae7a7b688244d267
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-08-18 18:39:14 +02:00
Edward Welbourne
820eff05f4 Use atan2() in Quaternion axis-and-angle
It's more numerically robust than acos() - we can't hit a range error
if we get strange rounding effects - and we've got the value of the
sin of the angle already (it's the length of the x, y, z part), so
might as well use it. As length is necessarily positive, atan2() will
give an upper-half-plane resolution, matching what acos() gave us.

This incidentally means that you no longer need to normalize() your
quaternion before you ask for axis and angle.

Task-number: QTBUG-114313
Change-Id: If3fa2b371c72991f1f8f151f78ef7f9180aa87cf
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2023-08-18 18:39:14 +02:00
Andreas Eliasson
132be307ff Doc: Delete links to removed examples
The examples have been removed as part of the examples revamp project.
This patch resolves a number of qdoc warnings.

Pick-to: 6.6 6.5
Change-Id: Ie3d2f5637136c631d7e9f7a8ffd93baea52f77d8
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-08-18 16:00:10 +00:00
Ivan Solovev
314d86335d Do not rely on transitive includes for QESDP
Explicitly include <QtCore/qshareddata.h> into the headers that use
QESDP.

This commit amends 6ff4c3d787.

Found during Qt 6.6 API review.

Pick-to: 6.6
Change-Id: Ia52d9e7551295f0c7380c7ed33b68f452cb689aa
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
2023-08-18 16:00:10 +00:00
Ivan Solovev
470b2b8ad9 QUuid: convert bswap(Id128Bytes) to a hidden friend of Id128Bytes
... and rename it to qbswap(), thus enabling the endian conversions
for Id128bytes via q{To,From}{Little,Big}Endian() functions.

Found during Qt 6.6 API Review.

Pick-to: 6.6
Change-Id: Ie320cee52ec2b9de0aaa112adec8febb7f5b68a2
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
2023-08-18 18:00:09 +02:00
Ivan Solovev
e6a36f21a3 QNativeIpcKey: improve operator==()
There is no need to check if lhs.d == rhs.d in the end of the function,
because we already have the same condition earlier.
If none of the previous conditions was true, we can just return false.

This commit amends 7a37083817.

Pick-to: 6.6
Change-Id: I06dca9b3dedf5895820685a6ded5363963e6fa3f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
2023-08-18 18:00:09 +02:00
Marc Mutz
14cf4f7584 QHostInfo: add -Result and -Runnable ctors taking SlotObjUniquePtr
... and use them around the code.

Avoids the impedance mismatch between users, which .release() their
SlotObjUniquePtr's into the ctors, and the ctor, which constructs its
member SlotObjUniquePtr from that.

The old constructors are left in on purpose and removed in a follow-up
commit to facilitate cherry-picking into branches that might have
additional callers.

Pick-to: 6.6 6.5
Change-Id: I6f8bce317d5116296973a3a2e3f97db1451f579d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-08-18 16:00:09 +00:00
Tor Arne Vestbø
17e7d98626 iOS: Add support for foreign windows
Task-number: QTBUG-116183
Pick-to: 6.6
Change-Id: Ia92ee2d15f2e91a326ad342237fb0a83305c019f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2023-08-18 17:01:28 +02:00
Ulf Hermann
199570e3b1 Doc: Fix introduction version of QT_DISCARD_FILE_CONTENTS
It didn't actually land in 6.5.

Amends commit 5a0dcda171.

Pick-to: 6.6
Change-Id: I8d63f0e5019c37dbbc02294515444dd8e901dd6f
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-08-18 17:01:28 +02:00
Marc Mutz
5c96b2a864 QCryptographicHash: fix incorrect GCC check
It's Q_CC_GNU, not Q_CC_GCC.

Amends 0411d98192.

Pick-to: 6.6 6.5
Change-Id: I56c4393e5955ac1bbcc8a198b11487cff775b16d
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2023-08-18 17:01:28 +02:00
Marc Mutz
a19585eee1 QPollingFileSystemWatcherEngine: change PollingInterval to chrono::seconds
More expressive and type-safe.

Move it to the .cpp file (the only user) and make it static to avoid
creating a non-namespaced symbol.

Pick-to: 6.6
Change-Id: Ib9b393e660e51c1791ed3a9a4a12e5c75736bf2a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-08-18 15:01:28 +00:00
Marc Mutz
22858ffced QPollingFileSystemWatcherEngine: replace QTimer with QBasicTimer
We already have a QObject (*this), so we don't need another one in the
form of a QTimer; we can just let QTimerEvents be delivered to *this.

Changes surprisingly little code, because the code used start(int)
already.

Mark the timerEvent() final to avoid surprises from potential
further-derived classes.

Pick-to: 6.6
Change-Id: Ib4ee8f8f6b9995d67d964afb231e913a00a76af3
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-08-18 15:01:28 +00:00
Eskil Abrahamsen Blomfeldt
9266b6d091 Update to Harfbuzz 8.1.1
Pick-to: 5.15 6.2 6.5 6.6
Change-Id: I886bc7d385e62ff0c9546c18bb7bb9273ef1cbd1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-08-18 17:01:28 +02:00
Marc Mutz
d8952690c7 QMessageBox: leave the Option's underlying_type as the default, int
QFlags<Option> will anyway store the value in an `int`, so we gain
nothing from choosing quint8 as the fixed type, except artificially
limiting the number of possible future options to eight.

Found in API-review.

As a drive-by, put options one per line and add a trailing comma where
possible.

Pick-to: 6.6
Change-Id: I0ed588ea6c7912e50705af89c47e2cf7e2ee23a0
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-08-18 17:01:28 +02:00
Tor Arne Vestbø
5c7e600b41 rhi: Guard wantsExtendedDynamicRangeContent with iOS 16.0 check
Change-Id: I3e3ae413a444f9da2f6c5859357ad47004116475
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2023-08-18 17:01:27 +02:00
Ievgenii Meshcheriakov
57410e5d7d QDBusAdaptorConnector: Initialize cached index in a thread safe way
Move the definition of cachedRelaySlotMethodIndex inside
relaySlotMethodIndex() to get thread-safe initialization.

Change-Id: I48683078f4dc610e9c7d1591287cf2d1dcfe8778
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-08-18 15:22:42 +02:00
Bartlomiej Moskal
51d331b13b Android: Fix wrong position of EditPopupMenu
When Edit Popup Menu was not shown, the size of EditContextView was
wrongly returned. That is why the popup appeared in the wrong position
and then "jumped" to the right one.

To get correct values even when Popup is invisible, size should be
calculated manually by getting height/width of all visible buttons (with
getMeasuredHeight/getMeasuredWidth[0]) and paddings of EditContextView.

[0]https://developer.android.com/reference/android/view/View#getMeasuredWidth()

Pick-to: 6.6 6.5 6.2
Fixes: QTBUG-115632
Change-Id: I5f6abffab1a1e836c59a922ffa727d893ca9820f
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-08-18 10:07:34 +00:00
Santhosh Kumar
90980a54e8 Rename accent color in QPalette
Accent color role has been renamed according to name rule of other
color roles in QPalette.

Fixes: QTBUG-116107
Pick-to: 6.6
Change-Id: I70ac98a1e97afbdc7ea5f8d79f808c307e170712
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2023-08-18 00:38:38 +02:00
Axel Spoerl
7c55651ff2 qobjectdefs.h - fix comment typo
Pick-to: 6.6
Change-Id: I314c01156daaaf993ff0b80e049327d52e520382
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2023-08-17 23:43:22 +02:00
Allan Sandfeld Jensen
ae9594ea98 Increase setup precision and reduce test precision
Reduce test precision to account for rounding errors, and at the same
time increase the setup precession by premultiplying in rgba64 instead
of argb32, which makes the test randomness trigger more regularly.

Pick-to: 6.6
Task-number: QTBUG-115945
Change-Id: I3e95449ada26ff5bb0acc00412f345733603f4c0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2023-08-17 22:35:34 +02:00
Anton Kudryavtsev
5dc068e95a tls: use string view types more
Prefer QStringView overloads

Change-Id: Icc928a91056d661f9e7f187f42592f05ad081a84
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2023-08-17 19:29:08 +00:00
Timur Pocheptsov
600d16df22 tst_gestures: use proper spelling 'macos' (not 'macOS') arm
Task-number: QTBUG-115945
Change-Id: I842726dc2af07cf61535a52af08e0fe8b13ee304
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-08-17 20:16:21 +02:00
Mårten Nordheim
5be45ff6a6 Multi-stream* example: add simple docs
To make it show up in the documentation.
It's also our only example showing SCTP.

Change-Id: Ib80ab869d9a6cbd370aa1a0c74772639e4393b37
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2023-08-17 13:15:00 +00:00
Andreas Eliasson
50bce44027 Doc: Remove references to non-existing current() method
There seems to be no current() method. Replace with the vkInstance
method.

Fixes: QTBUG-115853
Pick-to: 6.6 6.5 6.4 6.2
Change-Id: Ifc0f741186092862b498fe4be2d39076b92fa725
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
2023-08-17 13:44:53 +02:00
Ivan Solovev
6616d4e1f3 QUuid: use 'inline' keyword on method declarations
Some older compilers used to generate warnings if the 'inline' keyword
was used only on method definition, but not on its declaration.
It does not seem to be a problem at the moment, but still move the
'inline' keyword from the definition to the declaration of the new
QUuid constructor, toBytes(), and fromBytes() methods.
Split the fromBytes() declaration, moving the keywords to a separate
line, to fit into the 100 characters limit.

Found during Qt 6.6 API Review.

Pick-to: 6.6
Change-Id: Ic5bd3ad094669cda76592968789cf83e9a72bccd
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
2023-08-17 13:44:53 +02:00
Safiyyah Moosa
c3470b2087 Doc: Add proj folders to antivirus exception list
Add a note to state that Qt projects and user project build folders
should be added to the antivirus exception list.

Task-number: QTBUG-114928
Pick-to: 6.5 6.6
Change-Id: I4873dc75506d55a9e6c2a2614eb8f05c14f37142
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2023-08-17 13:44:53 +02:00
Toni Saario
c6279001c7 Use install from libexec for QNX on Windows
It moved to libexec at some point in 6.5.

Pick-to: 6.5 6.6
Change-Id: I1e80c0dd1dc253c08bf509aeb605b863a5d67e47
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-08-17 14:44:53 +03:00
Timur Pocheptsov
44b4e57468 Return generic key from TlsKeyOpenSSL::handle
We already return RSA/DSA/DH/EC, so we can also return generic.

Fixes: QTBUG-115718
Change-Id: I2064c2bbce2df73985609d27a94857a0ee2e6b42
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2023-08-17 13:44:53 +02:00
Volker Hilsheimer
fd5c2058ae Revert "QIconLoader: clear cache when the key becomes invalid"
This reverts commit e2f0495e7e.
Cleaning the cache is not be needed, as the invalidated key will make
sure that the cached QThemeIconEngine engine will not reuse the previous
engine to generate the pixmap, but request a new engine from QPA.

This way, a new pixmap will be generated also if system settings
change that will influence the pixmap generated by the platform engine.

Pick-to: 6.6
Change-Id: I9632c37c4ec86fe46acb701ec69a7868b3434322
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2023-08-17 11:44:53 +00:00
Alexey Edelev
7544d91ae1 Use the relative header path when checking if it's 3rdparty
If source or build directry contain '3rdparty' in their path, all
header files are marked as 3rdparty and will never be installed.
This commit is CMake counterpart of
ea4a3d78a7

Amends ea4a3d78a7

Fixes: QTBUG-116137
Pick-to: 6.5 6.6
Change-Id: Ib93fb879867e3aeb6e44193c4253e73173c141d2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-08-17 13:09:46 +02:00
Orkun Tokdemir
bc0c44d4cd _qt_internal_create_moc_command: Fix genex parse
The function was replacing the `>` character in generator expressions coming from `add_compile_definitions`. This was creating generator expression syntax errors. Discard generator expressions from character replacing.
Add tests for the three cases.

Fixes: QTBUG-111717
Change-Id: I694d2908738085fdf15112834f20183a9f393422
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-08-17 13:09:46 +02:00
Tasuku Suzuki
7301cd5cfa Fix build with -no-feature-dragandrop
Change-Id: I9ac2a9edb747608ef93008ac865886b1ee0ea82a
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: David Redondo <qt@david-redondo.de>
2023-08-17 16:18:57 +09:00
Volker Hilsheimer
3965d52ad5 QTabBar: don't make current tab visible while tab bar is invisible
When changing the current index while the tab bar is not visible,
calculating the necessary scroll offset might result in wrong results if
the tab bar still has an old size. When the tab bar then gets shown and
resized, the scroll wouldn't be corrected, potentially leaving tabs
unnecessarily scrolled out.

We don't need to make the current index visible if the tab bar itself is
not visible, it's enough to flag the layout as dirty so that the next
show event (which either way makes the then current index visible)
triggers a laying out of the tab bar tabs.

Amends e851d4c06154bf02b23030ff1f7024a8b9edf874.

Fixes: QTBUG-115109
Task-number: QTBUG-113140
Pick-to: 6.6 6.5
Change-Id: I3d8633f9f8b907a36190123839a6104a17bfe138
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2023-08-16 22:36:35 +02:00
Fredrik Ålund
6e9f989eb6 Fix architecture selection for Mimer SQL client library
Case-insensitively match the architecture string for x86 and amd64.

Fixes: QTBUG-111219
Pick-to: 6.6
Change-Id: I775e81965f46bb7479e0e9a05e66b8a080656ee5
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-08-16 17:04:40 +00:00
Alexandru Croitor
121f7f382b CMake: Allow installation of example sources into the Qt prefix
In Qt 5 times, if Qt was configured with -make examples, running
make install would not only build and install the example binaries,
but would also install the example sources into the prefix.
Installation of example sources was not implemented when the Qt 6
build system has switched to using CMake.

There is still a use case for it though, mainly for Qt Creator, which
only shows the examples of a Qt kit if the sources are available.

In contrast to Qt 5, in Qt 6 we will not install example sources
by default. It will be opt in.

To enable installation of examples sources, configure with

 configure -make examples -install-examples-sources

or

 cmake -DQT_BUILD_EXAMPLES=ON -DQT_INSTALL_EXAMPLES_SOURCES=ON

The -make examples part is required, otherwise
-install-examples-sources has no effect.

All example sources can be installed by calling
 cmake --install . --component examples_sources
in the qt repo build directory.

In a top-level build, per-repo installation can be done using
 cmake --install . --component examples_sources_<repo_name>
where repo_name could be 'qtbase'.

A single example's source can be installed by calling
 cmake --install . --component examples_sources_<subdir_name>
where subdir_name is the subdirectory name of the example, e.g.
'gallery'.

Implement installation of example sources by hooking into the
qt_internal_add_example command.
This means that all examples in all repos need to be added via
qt_internal_add_example instead of add_subdirectory, to ensure the
sources are installed. The majority of repos already use it.

For testing purposes one can configure with
-DQT_BUILD_EXAMPLES=ON -DQT_INSTALL_EXAMPLES_SOURCES=ON
-DQT_INTERNAL_NO_CONFIGURE_EXAMPLES=ON to allow testing installation
of examples sources without building them.

Take into account an additional variable called
QT_INTERNAL_EXAMPLES_SOURCES_INSTALL_PREFIX to allow installation of
example sources into a location different from the example binaries.

As a cleanup, the NAME option that could previously be passed to
qt_internal_add_example_external_project has been removed.
That's because it's never used anywhere and could not have worked
anyway because qt_internal_add_example_in_tree never handled it.

Pick-to: 6.6
Fixes: QTBUG-112135
Change-Id: I52aa5ec643ff7e212276c88d8dd2dfecdbdbeb0d
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-08-16 19:04:40 +02:00
Thiago Macieira
120fc8244a QCollator: clarify the POSIX backend limitations
This clarifies what doesn't work, that we print a warning, and that it
applies to all Unix systems aside from macOS, not just Linux.

Fixes: QTBUG-115852
Pick-to: 6.6
Change-Id: I80612a7d275c41f1baf0fffd1779701e98e7552d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2023-08-16 10:04:40 -07:00
Anton Kudryavtsev
8037d4f4eb qmimeprovider: use view types more
Change-Id: Idd6552313d3ef6ba692432858699521c392c70c3
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-08-16 19:40:18 +03:00
Mikolaj Boc
8703829d41 Remove the EM_LOG_DEMANGLE parameter from the call to emscripten_log
EM_LOG_DEMANGLE does nothing from emscripten 3.1.44 and is marked
deprecated. Also, it doesn't work for strict mode functions as
described in PR 19820, and needs the deprecated arguments.callee.

Change-Id: I4d71f50caa75373253881c4153acbc6ab38fcf18
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
2023-08-16 17:17:13 +02:00
Mikolaj Boc
c0c9e43be1 Add a special testcase for IndexedDB settings only
The test removes the file in memfs that IndexedDB settings use as the
backing store. This forces a new instance of IDB settings to read from
the actual IndexedDB, instead of the file.

Change-Id: I7c04a90ae80e47b7742bd133b2d9327ce0063fe2
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2023-08-16 17:17:13 +02:00
Mitch Curtis
5de991059e Improve Qt Test documentation regarding skipping/expecting failures
- Mention QEXPECT_FAIL on the best practices page.
- Link to the best practices page from "Chapter 6: Skipping Tests with
QSKIP".
- Add some more links.

Pick-to: 6.2 6.5 6.6
Change-Id: I0c9e0adb9fe500791dad44869434cf6ecdcf51a1
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-08-16 23:17:12 +08:00