| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: Ia0b971244b71185ced9e024ecaf6f8510f80b62e
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
setMouseCursor was used exclusively for CSDs, we shouldn't be storing it
in the cursor management. Otherwise when the cursor is restored we
restored when we move out of decoration we restore the application set
cursor. We should just apply the cursor directly as it takes precedent.
In addition the handling of unsetting a cursor back to default was not
implemented. We need to unset the application stored cache and always
update the server state.
Updates 555bda173621e18ae15117677ed3f314cee4a6bb
Pick-to: 6.10
Fixes: QTBUG-138542
Change-Id: I6e701471f6b0500e6f301a0c8dcb917b4f4439b1
Reviewed-by: Błażej Szczygieł <mumei6102@gmail.com>
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
|
|
|
|
|
|
|
| |
Skip spaces during iteration instead of removing them beforehand, so
that we scan the string once.
Pick-to: 6.10
Change-Id: I02dc9041811df2aee0099e705fdc46dd30bc55fc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
| |
Fixes: QTBUG-138861
Pick-to: 6.10 6.9 6.8
Change-Id: Ia99ca2f98cf21fd12dc6c04476900069c4c6c9e0
Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For renderbuffers, there is already a ready-to-use
'samples' member. Use that instead of the base class'
sampleCount(), which is what the user has passed in,
without any further clamping.
For textures, follow the same logic, and use the
result of effectiveSampleCount() everywhere.
Pick-to: 6.10 6.9 6.8
Fixes: QTBUG-138986
Change-Id: I24a9f4574f883ec076197ef57fd0974a9e2105a9
Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Create a AppxManifest.xml with a new commandline switch --appx. Added
commandline switch --appx-certificate to parse the publisher from a
certificate file by using the Common Name from the certificate.
Change-Id: If2fd6dd06edf8995c69f67f2a1cec0946b84103c
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
|
|
|
| |
Change-Id: I8423063f8ab37693d571191c44b18d33bd1d37f9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
| |
The linker script properties/keywords are only used for elf targets, so
we rename them to make the code more expressive.
Pick-to: 6.10
Change-Id: I94cf843c78bb8d9650807e3b9584b1b983c3cf47
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds handling for Javascript functions within QML, generates functions
with matching parameter types.
Note that these functions must fulfill the following paramters:
* The function params must be typed
* The function params must use types that we support: real, double,
int, float, bool and string.
Task-number: QTBUG-137112
Change-Id: I7e3bdf2d4be532c94709e45ec82d6c22ab7398ef
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
[ChangeLog][Third-Party Code] Upgraded Harfbuzz to version
11.3.3.
Task-number: QTBUG-139027
Pick-to: 5.15 6.5 6.8 6.9 6.10
Change-Id: I9c55cd2deeb76eb7792ca40c41fce1881363d400
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
|
|
| |
Fixes: QTBUG-137066
Pick-to: 6.8 6.9 6.10
Change-Id: Ic70020d3781cf02a22812a3eb0769b1f2c5ca70f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
With QT_QTESTLIB_RUNNING, the QWaylandWindow can commit the surface, but
it does not check whether the window is still exposed after sending a
syncrhonous expose event.
Pick-to: 6.10
Change-Id: I02ad9b9961912b760180f38ce3cc437ac9b589fa
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I99831d1d082355ab1272ff1ef30c55021aa3f4d7
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
|
|
| |
Fix typo
Pick-to: 6.10
Change-Id: Ia07db94dfb21b3056578af6b5f4f3cb67a0225cc
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit ba21e89c2f7b3e162cffa8a716ca3d835b8c9bd4.
Fortunately it only exists on dev.
Breaks build: <quote>
FAILED: src/xr/quick3dxr/CMakeFiles/Quick3DXr.dir/visionos/qquick3dxranchormanager_visionos.mm.o
...
/Users/qt/work/qt/qtquick3d/src/xr/quick3dxr/visionos/qquick3dxranchormanager_visionos.mm:122:41: error: call to 'fromEulerAngles' is ambiguous
122 | static const QQuaternion s_rot90X = QQuaternion::fromEulerAngles({-90.0f, 0.0f, 0.0f});
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
</quote> or, as the submodule update 'bot (or possibly our internal AI
interpreter of the raw output) put it: <quote>
The compiler cannot decide which overload of fromEulerAngles to use
for the braced initializer list {-90.0f, 0.0f, 0.0f}. It identifies
two possible candidates from qquaternion.h:
* static QQuaternion fromEulerAngles(EulerAngles<float> angles)
* QQuaternion QQuaternion::fromEulerAngles(const QVector3D &angles)
This is a fatal compiler error that stopped the build.
</quote> It's possible a Q_WEAK_OVERLOAD can fix it, but I'd rather
wait for Marc to think about the best solution, so reverting.
Change-Id: I1102c5be703ebd8b76b49656d068147fd3a74695
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit addresses a crash that occurs when the parent window is
destroyed while the view reference is still held. The crash happens when
the callback onAttachedToWindow is triggered and the
QuickView.createQuickView() function is called in native code. In this
scenario, the view reference is still pointing to the previous QuickView
whose parent has already been cleared, causing the crash.
To fix this, we reset the reference to 0 when the parent is deleted or
destroyed. This ensures that when onAttachedToWindow is called again,
the view is properly recreated after its underlying window has been
destroyed.
Pick-to: 6.10 6.9.2 6.9
Fixes: QTBUG-138922
Change-Id: Ia39eb83b58af19cd9b881915215b2be2adcfee49
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
| |
|
|
|
|
|
| |
Like the one for QDir::Filters, makes it easier to debug the code.
Change-Id: I9b045323effec40e9ebabd8f2f32aa2433b7c13c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is private API, and as pointed out in code review,
entryList(QDir::Filters) became redundant since Qt 4.8:
https://code.qt.io/cgit/qt/qt.git/commit/?id=859c0d5f2fe8234e9f1b8f638a3e3c592e7f3224
entryList(QDirListing::IteratorFlags) is relatively new and also unused, it
was added for feature parity with the other overload.
Change-Id: Ie39f194bf9df773d88798267f3df2974a66e83d1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
|
|
| |
Also add a code snippet showing how filtering can be done by name using
QString API, without regex.
Pick-to: 6.10 6.9 6.8
Change-Id: Iee63da4590e4868f3dc3d8db0e99ba9bf64a4e0e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10 6.9 6.8
Task-number: QTBUG-138403
Change-Id: I3a7980c1a9b455f92722943b27034b02d2c203cc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
|
|
| |
I didn't find any usage of it in Qt code.
[ChangeLog][QtCore][QDir] Deprecated QDir::Filter::Modified flag.
Change-Id: I800fa6b177c2697c9621307d04090b566290012b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
| |
Change-Id: I6825fd32dd177d034d4f20a10674ffde96835c34
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
qcore_mac_p.h does not build when arc is enabled. This patch allows this
header to be included with -fobjc-arc enabled.
* use std::swap instead of qt_ptr_swap
* disable QAppleLogActivity due to the void* cast in operator
os_activity_t.
Pick-to: 6.10
Change-Id: I4fa08f8003b836e8899d26c9081d517829c49722
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: Icc3d1c0b27a8e0ad6866601808cbcd4ebc9c0620
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It had a bool arg mimicking the original QDirIterator code. This was
needed because QDI had a ctor that took a QDir (and QDI itself at one
point in the distant past inherited QDir), and the resovleEngine
arg was set to true/false depending on the QDirPrivate::fileEngine
pointer. This isn't the case any more, and looking back,
QDirListingPrivate::init() has always been called with a true arg.
Change-Id: Ib488ca459234e22653c6efe4013adb1343a2d19c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
|
|
| |
Port the last user of this constructor in QAbstractFileEngine.
Remove the legacy filters bits from QDirListing.
Change-Id: I6d6ba61e113b6d964967e4155529dfb4d0ea82b6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
|
|
|
| |
After adding IF::IncludeBrokenSymlinks, all the flags here can now be
represented with QDirListing::IteratorFlags.
Consquently there is no need to use
QDirPrivate::checkNonDirListingFlags().
Change-Id: Ib2c5b48d4f47ec5ce825149ff990e5938aa7dce3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
| |
Using the same technique used in QDir.
Change-Id: Ie60ec5775b78fbf131fe2fdeab9f4754b8cdfa91
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
|
|
| |
Convert the values of a QDir::Filters that can be represented by
QDirListing::IteratorFlags, and check the rest of the filters separately
in QDir.
Change-Id: Ib3cc8b04a2903111cf863b07d239d5a02f8397ca
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes you may want to list broken symlinks even if ResolveSymlinks is
set, e.g. a symlink to dir `current -> app-ver-1.2`, app-ver-1.2 could have
been removed, and will be replaced by app-ver-1.3 at some later time.
This also eases porting QDir::Filters to QDirListing::IteratorFlags.
[ChangeLog][QtCore][QDirListing] Added IncludeBrokenSymlinks flag which
lists broken symbolic links regardless of the state of the
ResolveSymlinks flag. This provides compatibility with the
QDir::Filter::System flag in QDir.
Change-Id: I3280a9ebd342f74c48da2bf42dc23b7e9212accb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we check for '.' and '..' before checking the name filters one or
both of them may match if IncludeDotAndDotDot is set, but should be
rejected based on the name filters.
This matches the existing behavior of QDir/QDirIterator:
- With QDir::Filters, '.' and '..' are listed by default unless
QDir::NoDot and QDir::NoDotDot are set; so checking NoDot and NoDotDot
before chekcing the name filters, still means the name filters are
applied if '.' and '..' are listed. See matchesLegacyFilters().
- With QDirListing '.' and '..' aren't listed unless InlcudeDotAndDotDot
is set. So the name filters have to be checked before checking for the
special entrie '.' and '..'.
This should ease the porting to QDirListing.
This is slightly less efficient when using QDirListing directly (not via
QDir::entryList()); but if you want efficiency, you shouldn't be using
name filters which use regex matching, to begin with.
[ChangeLog][QtCore][QDirListing] Now listing '.' and '..' special
entries respects any set name filters. Previously if IncludeDotAndDotDot
was set, '.' and '..' would always be listed.
Pick-to: 6.10 6.9 6.8
Change-Id: I026e1e44431515ab2cc3545f993580dbf010ac9b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
| |
Task-number: QTBUG-132213
Change-Id: If644d6afd4258aa9bc3e2ea2eb05c39f4ce07c30
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|
| |
|
|
|
|
|
|
| |
7e362f76a6a6b0eb0cad2d2426063524f41fc16c removed the last
usage of QTableView from the code; drop the include.
Change-Id: I3352c8854b81fef2b0038af53fbd2437f69d0d21
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QRM needs to be able to rely on row/columnCount, functions implementing
parent/child navigation, the construction of the QModelIndex, and APIs
for inserting, removing, or moving rows and columns using the underlying
data structure in a consistent way.
A subclass trying to come up with a different logic, or modifying
results, will throw the rest of the implementation easily off to the
point where we end up operating with invalid iterators or bad pointers.
So, mark those APIs that shouldn't be overridden further as final. We
can relax that restriction in the future if it's really needed.
Pick-to: 6.10
Change-Id: I5e2195a631ae148cb49e8d1a190378e415396a5c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Firbird 2.5 added SQL_BOOLEAN in 2014 (https://www.firebirdsql.org/file/community/conference-2014/pdf/02_fb.2014.whatsnew.30.en.pdf).
Simply add the missing define to fix compilation.
Pick-to: 6.10 6.9 6.8
Fixes: QTBUG-138904
Change-Id: I4bd4a04be46a844fa18506b1a298b984a0299cbb
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
|
| |
|
|
|
|
|
|
| |
Pick-to: 6.10
Task-number: QTBUG-135954
Change-Id: I34d6f07fe674472b000c5ba184f42a372858037d
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
|
|
|
| |
We don't need a dedicated native call to do QCoreApplication::quit()
for QtService. This can be incorporated directly under
terminateQtNativeApplication().
Change-Id: I3106236430001ab3634afab7fe9ca6ac2dfe1ba2
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, we have terminateQt(), quitApp(), quitQt() and also
quitQtCoreApplication(). All these calls are called at some point
or another while tearing down the Qt application.
Right after main() returns, we call quitApp() which finish() the
QtActivity and sets isStarted to false, then shortly after onDestroy()
would be called, which calls terminateQt() which does the cleanup in
native C++ side and then exit()/join() the Qt thread.
The other call quitQt(), does mainly the same with the exception that
it won't finish() the Activity because it's a normal Activity and it's
owned by Qt, this is the way in Quick for Android use case.
These many calls makes the exit sequence slightly convoluted, and to
simplify it, we could do it slightly differently. Firstly, right after
main() returns, we set isStarted to false, then for normal Qt apps we
call finish() -> onDestroy() then calls terminateQt(), and for Quick for
Android apps, their delegates would call terminateQt() directly. At the
end terminateQt() would exit()/join() the Qt thread.
To follow the naming of startQtNativeApplication(), this renames
terminateQt() to terminateQtNativeApplication().
Change-Id: Iefe7fcc23039b3c58f81a8a3d7f38097f97ee07c
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This method is redundant because the same logic is already called under
terminateQt(). Below is the sequence of execution which leads the same
outcome:
quitApp() -> QtActivity.finish() -> onDestroy() -> terminateQt().
And this native method is called inside quitApp() just one line before
QtActivity.finish().
Change-Id: I02aab9f0ccded549dbddb1d4a9a9cbcd6e39d20c
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, we have two calls responsible for application startup,
startQtAndroidPlugin() and startQtApplication().
The first one is responsible for initializing things mostly, such as
getting the main() handle, setting file engine handlers. That method is
called as a blocking task on the Qt thread.
The second one is responsible for starting the app, i.e. calling main()
and after that closing and exiting the app. This one is posted to the
Qt thread right after setting the application's state to started.
Having this separation doesn't necessarily serve much and only adds to
the complexity of the calls dance we need to do from Java <-> C++. This
patch simplifies things by having one call that does the initialization,
gets the main() handle, start the app and exit the Qt C++ application
afterwards. This will still be run under the Qt thread as before.
Change-Id: I1e93ec1a77792880426939a6302f8487a74e8915
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When Qt is built with -no-accessibility and the device has
accessibility enabled (e.g. Talkback), it will lead to a crash
from calling an unregistered native method. Now, this adds a small
native method that's registered on library load that returns whether
Qt is configured with accessibility or not which decides whether
to init the accessibility layer from Java or not.
Pick-to: 6.10
Fixes: QTBUG-138894
Change-Id: I6d5f86b8777c12d3b82672a221827dffcfccbbf2
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Even though QCOMPARE compares them as equal, it may be useful to know
what the payload was when comparing to something else. Plus, there are
other uses of QTest::toString() where the payload may be relevant (e.g.,
in the comparisons of QCborValue).
IEEE 754:2019 5.1.2 "External character sequences representing zeros,
infinities, and NaNs" recommends:
> Conversion of a signaling NaN in a supported format to an external
> character sequence should produce a language-defined one of “snan” or
> “nan” or a sequence that is equivalent except for case, with an
> optional preceding sign.
There's no recommendation about how to represent the payload. It just
says "Language standards should provide [...] a suffix that can
represent the payload", but doesn't say what. I'm using parentheses
because that's what GDB does:
(gdb) p snan
$1 = nan(0x4000000000000)
(gdb) p nan
$2 = nan(0x8000000000000)
Note how it prints the is_quiet bit, but this commit does not.
Change-Id: I02bf59be578d389db535fffd9d392f5efec72754
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To do that, we cannot convert to double from float or std::float16,
because the conversion can normalize the output to standard zero or
quiet NaN.
We also need to use signbit() because the comparison is always false
otherwise: -0 is equal to 0 (not less than) and all comparisons on NaN
produce false. Moreover, like fpclassify(), signbit() is guaranteed by
the C standard not to raise an NaN consumption exception.
ISO C23 F.3 paragraph 6:
> The C classification macros fpclassify, iscanonical, isfinite, isinf,
> isnan, isnormal, issignaling, issubnormal, iszero, and signbit provide
> the ISO/IEC 60559 operations indicated in Table F.2 provided their
> arguments are in the format of their semantic type. Then these
> macros raise no floating-point exceptions, even if an argument is a
> signaling NaN.
Change-Id: I384599c59c440f36836afffde93b27fdee7a01a6
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Replace QLocaleData::numericOptions() with a plain constructor for
QLocaleData::NumericOptions. This prepares the way to make its
internals private and encapsulate the special-case handling of the C
locale, although the code currently using it is not yet ready for
that.
Task-number: QTBUG-138680
Change-Id: I29b070423593a622ac711d6efd5efdc0c7873af4
Reviewed-by: Mate Barany <mate.barany@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CharBuff, a QVarLengthArray<char, 256>, knows how big it is and is
used by callers who use its start and size, rather than relying on
'\0'-termination (although they did if you go far enoubh back in
history). Two callers convert it to QByteArrayView, which took care of
ignoring the dangling '\0' (despite it being within size, rather than
just after it). The third had to subtract one from the size to correct
for the '\0': it now no longer needs to do that.
Pick-to: 6.10
Change-Id: I09870d3f4f6871f37106d82f251611db45eb2101
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
| |
Consumers that try to build reporting based on the data tags need
access to both.
Change-Id: Ic3167e9e096e13d351b3333bc4c29a2a7d7efdc0
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: If30673e833c0587d7044ff4a5dc47481c671afe5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I5a74459489d91fca72279e9b3ee3f6ee39dbef63
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
|
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I45efad0c2484e9eb5c45dffea4e1d5a8c0e2ccaa
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Juha Vuolle <juha.vuolle@qt.io>
|
| |
|
|
|
|
|
|
|
| |
As it is not supported anymore on Apple, drop QNetworkConnectionMonitor
for simplicity.
Fixes: QTBUG-132137
Change-Id: If5e216e857b4449b9937323aa58630777cb4b82d
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
|