QNetworkRequest::Priority has three possible values and all of them
are handled already by the switch. The default label also disables
-Wswitch, so remove it.
Pick-to: 6.7 6.5
Change-Id: I971a41ef9cbce237f5ff6ae5d28408cbf612eae3
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 645f954d358117ebf1130ac9adc29b0835dad9d4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Address the "A constructor must initialize all data members of the
class" warning.
The class should accept initial values as argument of a (possibly
protected) constructor if it expects them to be set by a derived
class.
Add an enum Option and a protected constructor that can be called
by the derived classes with the enum values.
This makes setExpires and setShareable redundant so remove them.
Found by an Axivion scan.
Pick-to: 6.7 6.5
Task-number: QTBUG-125026
Change-Id: Ia8a2a19469a2c0185b5d2e6b2a0895e897f33f28
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 36aa5fc3fa361ecb6f7bb035c3cace3dd14735e0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Just in case, warn user if they are trying to use callInterface on an
interface that does not exist (probably has not been registered)
Change-Id: I1a4b2226cfecd139e36ab6386ea2fe868bd73f3f
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
(cherry picked from commit 6643e97a89f06f0c32c3dff8b2c343eaa76c0e85)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Replace it with a static variable that is in a static function.
Found by an Axivion scan.
Task-number: QTBUG-125026
Pick-to: 6.7 6.5
Change-Id: I190003b2c798ceddfaf22bbf83786d8e98677721
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit f4d2f3d1d158b501f0373f13cab12243ab99b3c5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Replace it with a static variable that is inside a static
function.
Found by an Axivion scan.
Task-number: QTBUG-125026
Pick-to: 6.7 6.5
Change-Id: Ic85b683fddb18a389f1d461e4f7ab6b08bf8c3ec
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 51dbdb6f9bf41fa2d7a30c598e9bdc61eaece281)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Use QscopedValueRollback in
QHttpThreadDelegate::startRequestSynchronously
to handle a "Potentially leaking reference/pointer to local variable"
warning.
Found by an Axivion scan.
Task-number: QTBUG-125026
Pick-to: 6.7 6.5
Change-Id: I18c7b9e2f4f8093393176eedfb3ed5a2604bf51b
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 41f6338a7d8b848008d7906016bda498c13928e1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This was missed in the original patchset, should improve some input
functionality in embedded QML views.
Change-Id: Ie6c8e28d11c5c5336dd291027a179462c0b3529c
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
(cherry picked from commit ca97e445bc976c1d89ac99e89cec4eeaec127b0f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
A peer can send a RST_STREAM frame for their own stream, so we have to
check if one such stream has been active instead of just our own.
Change-Id: I5a46b10df98809ed3d803bfb1a92a45ab7f7d961
Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit 0026b17eff313a0bb248a8d04593eb80f16f315d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Replace the only usage in QList with std::equal().
Change-Id: I2176b51a2943e0523073a435484a53a1c4ecb635
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 71a1f7c1ea2d11c5e84be5c9956f70c609bb8ebe)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Added a statement in the QList descriton and linked it to the
Qt containers and std algorithms
Fixes: QTBUG-94993
Change-Id: I12b75d147cb6e80036133547cc6365b3325c7e28
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 4f66c10ba2f6234b7d404e7617b86eff567d657b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
We cannot use memcmp() for that, as it incorrectly results in two
NaN values being equal.
Simply replace the whole self-written algorithm with std::equal(),
as it's doing the same thing, but lets the compiler decide when
to do the optimizations.
Amends db89349bdb.
[ChangeLog][QtCore][QList] Fixed a bug when two QLists holding NaN
values were considered to be equal.
Fixes: QTBUG-127473
Pick-to: 6.7 6.5 6.2
Change-Id: If7e77549b4cbeb96711893d14344b9e0a40c1a87
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit cb3faeba3d9411ba82c311751bd7de36d0fec939)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
For legacy reasons, the accessor class allows operator[] to go out of
bounds and just returns an empty string. However, we were returning a
pointer to the one-past-end of the array, which appears to have been a
null byte in the test.
Instead of adding branching code to load the length of the first string
in operator[], we can just add an extra null character at the position
we were returning anyway.
Pick-to: 6.5
Change-Id: I4878533dcb2d4b3e8efefffd17e4f876b43e9ee3
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
(cherry picked from commit 8a768fe7db6ac5388fec6a68687817796b44439e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This amends 31ec108dd08d6381a15e49b6fbec9337705c3b2a .
framePositioning() was split from positioning(), which was skipped
before.
Pick-to: 6.7 6.5
Change-Id: I23dcfbe6012bb44c9b7c343b963e7338ddd16f28
Reviewed-by: David Edmundson <davidedmundson@kde.org>
(cherry picked from commit e2165f0198ec09c5c0faa6bdb3dbec3b9ca482ab)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This amends 91079e64d8 .
It needs to have a QGuiApplication object before the check.
Task-number: QTBUG-123172
Change-Id: I51929431e69e4584c46e2dc08ca9c33b48b900c6
Reviewed-by: Inho Lee <inho.lee@qt.io>
(cherry picked from commit e743931294d9d9c4e5a27d2644fd1cd354ce56cb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
GCC generates broken code with that option enabled, see
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115527 .
For simplicity I'm not building a comprehensive set of GCC versions
which do have the fix applied; I'll just exclude old ones.
Change-Id: Ia2f128cac633f8d72d5aedc5efe4e64e1c40c51b
Fixes: QTBUG-127507
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 6c11f40701e9a406942dbcd2920c9b7d56b4af72)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
QTest::qWaitForWindowActive() isn't supported on Wayland, however in
these tests what's required is a specific widget having keyboard focus.
Pick-to: 6.7
Change-Id: Ib47431351f60f4ee31d67563ce1892dc2e8149eb
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 3d3faa128508b6eb5fd656330cf3be0097844abb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
QDebug::toString intends to pass the input object's address to its
nested implementation, but was calling operator& which does not work
with types that has a custom overload. Calling std::addressof fixes this
problem.
Fixes: QTBUG-127510
Change-Id: Ie608f7b1a63c4032246b6ff98a3651695f0536ca
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 6cd6c3d6d70f8e76059153dd58ed2c61af2889b3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Keeping DESTDIR set to "{{.InstallRoot}}" after installation has
potential to break other unintended CMake file(INSTALL) calls that
take DESTDIR into account.
This already happened for the CMake macOS POST_BUILD deployment API,
which accidentally installed into the install root, when it shouldn't
have.
Unset the DESTDIR env var after we install Qt.
We already do that in the cross-compiling Coin instructions, so this
brings uniformity to the host builds as well.
Task-number: QTBUG-90820
Task-number: QTBUG-96232
Change-Id: I6aca31e36c67c8d4b293efd746c37a42ea9ca834
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 02cb165ef8050230b477358e4136e9f0acd83eb6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Follow-up from commit c844a7a5.
The input element was taking up space on the html body,
and was offsetting the Qt app content, making it partly
invisible.
The element already has position: "absolute" which should
remove it from the layout, but it looks like it needs
to have a set position as well on some browser for that
to happen.
Pick-to: 6.7
Change-Id: I618d2561eb32e181797034d0b3005d716d4f6136
Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
Reviewed-by: Inho Lee <inho.lee@qt.io>
(cherry picked from commit 59645a409b4b2a68a329b61d7e5837b6fd651a48)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Axivion warning: "Compiler-generated constructor leaves some fields
uninitialized."
Initialize the wrappedUploadByteDevice as nullptr just like the other
pointer member variables.
Task-number: QTBUG-125026
Pick-to: 6.7 6.5
Change-Id: If4e0a0e169b1256e8aca3596d26d5532fc950a4d
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 804fae2e463c1be34dc1e40207e4e715e3e2f1d4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Found this by an Axivion warning: "Compiler-generated constructor
leaves some fields uninitialized." but it seems that this struct is not
used anywhere else, so instead of initializing the member variable just
remove the struct.
Task-number: QTBUG-125026
Pick-to: 6.7 6.5
Change-Id: I09bb8936241ece148debbd572c8441dc9d998ff9
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit a427e75d826c40cf3d39683bb7bd63126f00329f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The code was all initially taken out of the QNAM protocol handler,
so it was using QNetworkReply error-values somewhat liberally.
That means it would emit quint32s with values from two different
enums and no good way to tell them apart.
Instead, just use the Http2Error enum for everything.
Pick-to: 6.7
Change-Id: I31be4e3ac8f0439478c22b173cd8830550d16ddb
Reviewed-by: Dennis Oberst <dennis.oberst@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 28dd5e0a716039a058b9156509909c2da639909a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This will enable generation and linting of source SBOMs only if the
repository source root contains a REUSE.toml file. Otherwise the steps
will be skipped.
Task-number: QTBUG-122899
Task-number: QTBUG-125211
Change-Id: I87ea9aad7fb4f15ec7fa9d00072c81cddbe7ea2c
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 186d368f0d613d7d1b60a6d1dc197269ab4db8f8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Add code to generate and install a source SBOM SPDX file for every
repo. It relies on the python 'reuse' tool being installed and
available in PATH.
Also add code to allow running 'reuse lint', which checks compliance
with the reuse specification.
The features are only enabled when configuring with
-DQT_GENERATE_SBOM=ON
-DQT_GENERATE_SOURCE_SBOM=ON
-DQT_LINT_SOURCE_SBOM=ON
which will be the case for our CI in a follow up patch.
Because most of our repos are not yet reuse compliant, the actual
generation of the source SBOM and the linting is skipped if the
project root directory does not contain a REUSE.toml file.
This allows incremental handling of each repository, while also
enforcing the compliance at installation time when the REUSE.toml file
is actually there.
The source SBOM generation and linting will run at installation time,
but they can also be manually triggered at build time using the
ninja 'sbom' and 'reuse_lint' custom targets.
Various opt outs are provided as a fail safe:
- QT_FORCE_SOURCE_SBOM_GENERATION to force source sbom generation
even if a REUSE.toml file is not present in the root source dir
- QT_FORCE_REUSE_LINT_ERROR to force linting to error out, even if
a REUSE.toml file is not present
- QT_FORCE_SKIP_REUSE_LINT_ON_INSTALL to skip linting at installation
time, but allow running it at build time
These can be set either locally or conditionally passed to CMake
inside repo-specific Coin instructions.
Task-number: QTBUG-122899
Task-number: QTBUG-125211
Change-Id: I664e69830936c4427688143ee86b98782c1733ab
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 6d9b4291746907e30ea49ac0adf8608ad8a1129b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Add the missing dependency between qt_internal_android_<abi>_configure
and the last target from previous ABI-specific step in the chain.
This slows the Unix Makefiles builds, but ensures that there is no race
condition when executing configuring step.
Also as a driven-by fix the _qt_android_abi_steps property list, by removing
the parazite -NOTFOUND entries.
Pick-to: 6.7 6.5
Fixes: QTBUG-127414
Change-Id: Ibb69dcdebd2052a7aa1d4bd0c3f657cdeb312f37
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 924dd10afc9f9137ce2da7643306d8df511c6ab9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Some operations might want to install additional files next to the
repo sbom, with the same file base name as the repo sbom file name.
E.g install qtbase.source.spdx.json next to qtbase.spdx.json.
Make the output file path without the extension available in a new
QT_SBOM_OUTPUT_PATH_WITHOUT_EXT variable during installation.
Task-number: QTBUG-122899
Change-Id: I0b9442cffa3f3b0fd2387e77569a94e43ce387a5
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 35bd5df58932299221ad475ebaf25e2c0492e6a0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Some Qt internal targets might not work correctly when built with
Intel CET hardening.
Add a per-target opt out to skip adding the Intel CET flags.
Task-number: QTBUG-127464
Change-Id: I1a28b228a82b3505d987649eec6db08281c15482
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit c5e42a9d2faef611e3a6d124d5b093670346fb87)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Address the "Overloaded signals should be avoided" warning: there
is already a method named "error" in QFileDevice, rename the signal
"error" to "networkError".
Found by an Axivion scan.
Pick-to: 6.7 6.5
Task-number: QTBUG-125026
Change-Id: I2f1b5752238aca614af82a94e2918399c582f74d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 7f0450a47f2cab8c0482131475eba7162f4bdf8f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Also store the version in one variable and reuse it, to make it easier
to update in the future.
Change-Id: Ib843a1cfa5c53233f9daa6c373d238f756eb4853
Reviewed-by: David Faure <david.faure@kdab.com>
(cherry picked from commit 922e197bd3468d4c10b8fcd6377cd7b67f2541f2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Tools that consume SBOMs expect that each SBOM package will contain a
unique purl: https://github.com/package-url/purl-spec
Each Qt target maps to an SBOM package, so generate a target-specific
PURL for each Qt target, by using the combination of the repo name
and target name as the purl name.
The purl external reference will then look something like:
ExternalRef: PACKAGE-MANAGER purl pkg:/TheQtCompany/qtbase-Gui@6.8.0
Also allow customizing the purl for each target by specifying one of
the following options to functions like qt_internal_add_module or
qt_internal_extend_sbom:
- PURL_TYPE
- PURL_NAMESPACE
- PURL_NAME
- PURL_VERSION
- PURL_SUBPATH
- PURL_QUALIFIERS
- NO_PURL
- NO_DEFAULT_QT_PURL
Task-number: QTBUG-122899
Change-Id: I6926dd773a0ef6fc688664bcac7b23483ecbabe6
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit f6fdc1fe5fde253d7e70a2d2bbef42e9c411956e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Currently QJpegPlugin can load JFIF image without issue, but didn't
register jfif as recognized suffix. This add the support for jfif
suffix and will load the image as regular JPEG image.
Qt image formats plugins doesn't care about the extra metadata provided
by image itself, so it's fine to simply use the existing QJpegPlugin
to load JFIF image files.
Change-Id: I880d7603f356fbb01af7de8e4fb62fa010a0fd1f
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 68f58ce198a794e7b2890f1127c99e0395d105a5)
libc++ has a "poisoned" set of relational operator overloads for
the standard category types. A call like
std::strong_ordering::equivalent == Qt::partial_ordering::equivalent
fails to compile, despite the presence of
operator==(std::partial_ordering, Qt::partial_ordering)
This is viable after converting strong_ordering. But strong_ordering
itself defines a
operator==(std::strong_ordering, CmpZero)
where CmpZero is poisoned and accepts Qt::partial_ordering, making
the call ill-formed.
I'm not 100% sure if libc++ is right here (cf. the linked upstream
bug report for some ruminations). We can work around this issue by
adding sufficient additional overloads to Qt::partial_ordering and
be a perfect match. For some reason this was already the case for
the other Qt's comparison types.
Notes:
1) I didn't test this. Only libc++-trunk defined the necessary C++
feature macros to trigger the problem; I made a synthetic testcase
and it worked.
2) I'm not sure why these operators are defined symmetrically instead of
relying on C++20's reversed operators, but I'll follow the
pre-existing ones.
Change-Id: I0937f40b7e685026d4677e7918948d47d2b7cec6
Pick-to: 6.7
Fixes: QTBUG-126541
Task-number: QTQAINFRA-6203
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
Reviewed-by: Khem Raj <raj.khem@gmail.com>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit b892b39a7a6c50eb5bbf03f0c9f01bdd07756f13)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Addressing a "Q_OS_WIN should not be checked before qglobal.h is
included" Axivion warning.
Task-number: QTBUG-125026
Pick-to: 6.7 6.5
Change-Id: I78c3df04a92aab8753c2651502d7893822523ed0
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit df3c9f365f9543ec6491354f11103280ded0f3a9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The variable expiryTimeoutSeconds is set by the function
QNetworkAccessCache::addEntry and as a parameter is defaulted to -1
so initialize it to -1 with NSDMI.
Task-number: QTBUG-125026
Pick-to: 6.7 6.5
Change-Id: I8a96c2acbf94be409529200801d4d7169e852ac1
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit 9e75236a0dd157ca85e6f38870fac37214b683b2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
SetupDiDestroyDeviceInfoList() returns TRUE (1) and not ERROR_SUCCESS
(0) so an assertion is triggered falsely on destruction.
This amends 5183ca14344c04015b32ef407e4cdad1b370c841.
Pick-to: 6.7 6.5
Task-number: QTBUG-127168
Change-Id: I03ea601e35c0cbcf44080379853e33362568122c
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit fcaaebd5c8d5323f050fdcf07d16dc37bdba197b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The second value (like the first) has type qint64 (aka long long), so
%d is wrong; need to use %lld instead.
Found while porting to std::snprintf() (qsnprintf() never actually got
the __attribute__((printf)), so compilers didn't warn).
Drive-by replace qAbs() with std::abs().
Amends 13c3558fe9.
Pick-to: 6.7 6.5
Change-Id: I9082a1aceefe8a5b04ad0d5725ab666e23483b29
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 61e4be2b62f9b6556a145f226850bf5e62d53e9d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Some features are server-dependent and therefore an open db connection
is needed to make sure that the feature is available.
Pick-to: 6.7 6.5
Fixes: QTBUG-10016
Change-Id: Ia9a117a64ba5fe7cdd69bf95a41cfc301ab5fd94
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit 139b8779469244dd1aa226dd3222e6e4aeb2c932)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The file had no protection against multiple inclusions. While current
code doesn't include it multiply, prevent it from becoming a problem
in the future.
Pragma once is sufficient, as this header is not installed.
Amends 32a06e9830.
Pick-to: 6.7
Change-Id: I97bbbb80f46c0e587288e8ebb4fa06ddd2e892be
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 235bb0926a94a73655a266c0ac038fa3a0a982cd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
When more than one relation is used, an internal container might be
resized which can lead to a reallocation. Since the internal data
structure holds a pointer to an element of this container, this pointer
is invalidated after the reallocation. Therefore store a QSharedPointer
instead.
Pick-to: 6.7 6.5
Fixes: QTBUG-60674
Change-Id: I18c6157c7328be201f8b89a7ca12f423a86d9b71
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit c0aabbd8a0c5a01c2048bcaf36525570a8e0bb35)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
qsnprintf() does not make a difference between lvalue and rvalue
arguments, so the wrapper doesn't need to perfectly forward.
Use decay-copy via by-value arguments to potentially reduce the number
of instantiations required for the existing calls.
Adjust indentation so the continuation line doesn't need to be
re-indented when we'll port qsnprintf() to std::snprintf().
Amends 0e8eb20af4.
Pick-to: 6.7 6.5
Change-Id: Idcaa441517fdbf00fefd952db7928731779123ab
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit fba67959acb7be39942aa3ce829f6764c46ad3ee)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Move the virtual to at least make us call the right methods still when
encountering a platformtheme compiled against an older version
Change-Id: Idb6e75b71889c04b2a11e94492d0906dc8ddc84f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 2b66952b83f048ebaf896691178910ed4e466ede)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>