| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Change-Id: I20fdb0f6dfc74f1e9e6e9475fbe49e440b8690eb
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
|
| |
|
|
|
| |
Change-Id: Iefa1011bd7c4bf39391b6586da435a9f693bf604
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The test project assumes private API entities are generated even though
`includeprivate` qdocconf variable is not set.
Set it explicitly, and replace an implicitly created proxy page for
the documented global function with an internal \headerfile.
Pick-to: 6.11
Change-Id: Ia175eee8ad54d4ca53b77249612b201d29cdfb48
Reviewed-by: David Boddie <david.boddie@qt.io>
|
| |
|
|
|
|
|
|
|
| |
The warninglimit was left undefined for this test project, and it was
generating 11 warnings.
Pick-to: 6.11
Change-Id: I7c02ea1907919d2965d81b6a4479944300888301
Reviewed-by: David Boddie <david.boddie@qt.io>
|
| |
|
|
|
| |
Change-Id: Ied9a7172ef2915cf66bdfd638e8c18d349d0d356
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc reports 'No output generated for X:Y because X is undocumented'
warnings for documented class members whose class a missing a doc topic.
This generated false positives in cases where the undocumented class
is not part of the public API. As QDoc now has an `internalfilepatterns'
configuration feature to mark header files as non-public based on file
path(s), add such a check before generating the warning.
Pick-to: 6.11
Task-number: QTBUG-141665
Change-Id: I790fe3210be28fa4b370b06baed3e5fe975fac8c
Reviewed-by: David Boddie <david.boddie@qt.io>
|
| |
|
|
|
|
|
|
|
| |
The check for scoped enums only worked for class enums. By removing the
check, we can search inside named enums for values.
Pick-to: 6.8 6.10 6.11
Change-Id: If1a9213dee7a57957a8be70f95cdf4f82f6bef52
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove "Dialog" from the MachineTranslationDialog title
- Remove HTML clutter by using placeholderText for the log display
- Remove the +/- indicators from the tool box texts by moving
the texts into the source.
- Add some comments
- Fix message texts
Pick-to: 6.11
Task-number: QTBUG-141111
Change-Id: If73c20142309f2920c85176efbe9a7a01ca08c3e
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Replacing screenshots and documentation of Windows XP layout with the current Windows in
"https://doc.qt.io/qt-6/designer-layouts.html#the-grid-layout" because it is not supported anymore
Fixes: QTBUG-141777
Pick-to: 6.10 6.11
Change-Id: Ifb47d08a1a7d27868701dbe64576b162eb6deb5e
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
| |
|
|
|
|
|
|
| |
Describes the warning about missing QML base types.
Pick-to: 6.11 6.10
Change-Id: I988a6689b0b5657cd093aa27bc70e61a6c750e17
Reviewed-by: David Boddie <david.boddie@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Consolidate similar code into a single function that can suggest the
best or closest match in a set of strings to the string supplied,
optionally excluding strings that should not be matched.
Change-Id: I8ae2c9e2261c580fa4dbb8c9fe80e3fb85d62ac8
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The order of overloaded functions in detailed sections tends to differ
from that in the lists of functions on some API reference pages. This
can lead to confusion when navigating between overloads or searching for
a suitable overload.
This change imposes some additional order on sorting of functions, based
on the overload number. It does not guarantee that the order will
exactly match the summary list, but it will be closer to it.
Change-Id: I499ac8a22168d252cbaf6a5d8eb5e76fe7090807
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Add dependency in .qdocconf files
Fix link syntax
Whitespace fixes when applicable
Fixes: QTBUG-142504
Pick-to: 6.10 6.11
Change-Id: I8dfa717a71eb71ba7f1b6f334ec7162d620bf83c
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc can automatically generate navigational links between pages based
on a top-level \list structure that defines a table of content for a
project. This list can include either explicit links to pages or
\generatelist or \annotatedlist command(s) that expand to a set of
links, one of each group member.
HelpProjectWriter uses similar logic when writing the TOC entries for
a qhp subproject of type `manual`. But here, the \generatelist command
had no effect; only explicit links to topics were added to the TOC.
Add support for generating .qhp TOC entries via \generatelist and
\annotatedlist commands to HelpProjectWriter, and describe the usage
of these commands in QDoc manual.
[ChangeLog][QDoc] The \generatelist command now produces correct output
when used in a \list structure to build a Qt help project (qhp) TOC.
Pick-to: 6.11 6.10
Fixes: QTBUG-142544
Change-Id: I611204dc36d0eb0f2ea6399c70c9e9e41c834c4b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SVG files in Qt documentation define a <style> element containing
selectors that enable styles for light and dark themes. Online Qt
documentation uses JavaScript to select these but there isn't a simple
alternative to this in Assistant or an obvious way to access the
underlying SVG handling provided by QtSvg.
This workaround adds a "dark" class to the <svg> element when a dark
theme is being used, relying on the SVG file to define appropriate style
rules that can be applied when the class is present.
Change-Id: I84ef450415d2757ac17d4a672b4386d44989082a
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
|
| |
|
|
|
| |
Change-Id: Id3ea75d2a32362eda52cbe1c2738d27a8a5cd7e8
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: I95be732ab3f4d1e90db2c7f5759d5690a42a4903
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc's `Doc` class permits default construction with `m_priv` set to
`nullptr`. This is valid for nodes without documentation. However,
accessor methods such as `keywords()`, `targets()`, `tableOfContents()`,
and `tableOfContentsLevels()` directly dereference m_priv without
validation. When HelpProjectWriter processes nodes with
default-constructed Doc objects, this can cause segmentation faults.
This occurs because the `Doc` class' design allows `nullptr` as a
valid state, but its methods don't defend against it. The crash
manifests when help project generation encounters QML types or
other nodes that legitimately have no documentation content.
This change adds `nullptr` guards to the four accessor methods in
`Doc`, returning static empty collections when `m_priv` is
`nullptr`. This approach maintains the existing API contract while
making the class robust against its own valid states. Additional
call-site guards in `HelpProjectWriter` provide defense in depth by
checking `isEmpty()` before iteration and validating
`findNodeForTarget()` results before use.
Fixes: QTBUG-142451
Change-Id: I2f6bbd98701056d41c3e8a657b457cd6a09d92e6
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
|
| |
|
|
|
| |
Change-Id: I5bbb0965456ce8bfe47fc904ac66070eae8d1a58
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Extract .pro file processing into shared projsongenerator
The lupdate-pro, lrelease-pro, and lprodump tools contained nearly
identical logic for parsing .pro files and generating JSON project
descriptions.
This change extracts the duplicated code into projsongenerator.cpp/h
to provide a unified generateProjectDescription() that generates JSON
file for .pro files.
All three -pro tools now link against QMakeParserCumulative and use the
shared generator.
This provides the common infrastructure needed in the next patches
for lupdate and lrelease to parse .pro files directly, without
std::system calls to their -pro variants.
Change-Id: I8d693977036c3f13e5129ed61ea3394a0ef16936
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The qmake parser code needed by linguist tools (lupdate-pro,
lrelease-pro, lprodump) was scattered across shared/ directories with
duplicated CMakeLists.txt configuration.
This change creates QMakeParserCumulative, a static library
consolidating all qmake parsing functionality.
The library exports a public include directory and defines necessary
preprocessor flags needed in linguist (PROEVALUATOR_CUMULATIVE,
PROEVALUATOR_DEBUG, PROEVALUATOR_INIT_PROPS) for qmake parser.
The library establishes the foundation for subsequent
refactoring by isolating qmake functionality into a
reusable component to be used in lupdate-pro, lrelease-pro,
and lprodump.
Change-Id: I767e485abe9d994ad12187b1bd3d26d38f950f65
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Apply a simple test for each case in typeString() to distinguish between
singular and plural forms of the common types.
Add a simple regression test to catch any changes in later refactorings.
Fixes: QTBUG-142351
Change-Id: I88c7303dc543d61d917ac61c31bde98bf7cedc87
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Coverity complained that transformedItr could be incremented past the
end of the range if the while-loop had already advanced it to end().
It is correct, because the for-loop iterates over 'messages' while
the while-loop advances 'transformedItr' over 'verifyMessages' (two
independent ranges). When a non-supported message was encountered, the
'transformedItr' iterator was incremented unconditionally, but the
while-loop in a previous iteration could have already advanced it
to the end position.
Fix by checking for end() before incrementing. This is the correct
thing to do because the subsequent end-check intentionally doesn't
break out of the loop. It records an error and continues to
accumulate all missing translations. The fix preserves this behavior
and avoids incrementing an iterator that is already advanced to the
end position.
Amends ccddb1221fd05e300e3b5d1ab4ffb5fba49f17db
Coverity-Id: 897288
Change-Id: I7013b664c97fd2cf07f426b53fcfea5518893d8f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The doc team is trying to implement a version of the diataxis framewrork
to doc.qt.io.
The QDoc manual is being updated with this framework in mind.
This patch changes the title of the 'How to Resolve QDoc Warnings'
page to 'Troubleshooting QDoc Warnings' because the 'How-to' title
should only be used in a specific context according to the framework.
This patch also updates the links to this page.
Fixes: QTBUG-139449
Pick-to: 6.10
Change-Id: Ibb6e2a6eddb1a0434b8b7280e1b37e048250c07a
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
|
|
|
| |
Change-Id: Ia8210d5e7bebe6ca26d0acdacb72bbdb2593da7f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- In main(), remove the unnecessary cInclude variable and assign
the output of getIncludeOptions directly to cd.m_allCSources.
- In recordMessage(), use move- instead of copy-assignment,
removing a const that would have prevented it before.
- In calculateId(), enable NRVO by defining metaId (now id) in
the top-level function scope and reusing it for the loop in
case extra() came up empty.
Amends ccddb1221fd05e300e3b5d1ab4ffb5fba49f17db.
Coverity-Id: 897285
Coverity-Id: 897290
Coverity-Id: 897289
Coverity-Id: 897287
Change-Id: I2f26a30b46c2d918d86ee86dc6341c5d51f0db4d
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since QML types can have attached properties whose names shadow those of
regular properties, there sometimes needs to be a way to choose which
type of property to link to.
This introduces the "attached" link criterion that enables writers to
express a preference for attached properties while keeping the syntax
minimal for linking to regular properties or uniquely-named attached
properties.
Fixes: QTBUG-142150
Change-Id: If8d45bbcc064c9290bb51110dbbe6c96aa6af399
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
|
| |
|
|
|
| |
Change-Id: I24aa3ff99074a14eb9ebc54b5f6efb01966eb605
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: I9b5704fd194bea7f5bb39722539e2a48a072888e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: I59c7d9b4d2a3ec51c1452ebf33fe1f7978f12407
Reviewed-by: Masoud Jami <masoud.jami@qt.io>
|
| |
|
|
|
|
| |
Pick-to: 6.10 6.8
Change-Id: Ib5c1fd1769df37654a232ff3bcaa29ca4a7dc926
Reviewed-by: Masoud Jami <masoud.jami@qt.io>
|
| |
|
|
|
| |
Change-Id: Ie40e4e1b75df72e0f7f173363d70e31a6c8c7577
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
This causes qmldir files to be matched by plain CodeMarker objects so
that their content is not marked up or highlighted in the default marker
style.
Fixes: QTBUG-141354
Change-Id: Id16ddce15483985d6af62e1dcc6c206d431ebac1
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
|
|
|
| |
Change-Id: I62a5e9d42b29ac3d563733c6c33a1ccc74a18792
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: I1a99f1932189879499686ed86c17b6b807b74c75
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`CONFIG_IMAGESOUTPUTDIR` accepts any path string and attempts to create
it as a directory, allowing absolute paths or relative paths containing
".." that escape the output tree. This pattern exists in
`Generator::initializeFormat()` where the images directory is created
using raw QDir operations.
This violates the architectural principle that all QDoc output should
stay within the output directory tree. It creates a potential security
risk where malicious or misconfigured .qdocconf files could write to
arbitrary filesystem locations. The inconsistency with other directory
operations also makes the codebase harder to audit for path traversal
vulnerabilities.
Convert `imagesDir` handling to use `OutputDirectory::ensureSubdir()`,
which rejects absolute paths and paths containing ".." components with
clear fatal errors. This enforces the output tree boundary while
maintaining support for the standard usage pattern of relative
subdirectory names such as "images" (the default). Configurations using
absolute paths or ".." in `CONFIG_IMAGESOUTPUTDIR` will now terminate
with fatal errors instead of potentially writing outside the output
tree.
Change-Id: Ib99c821645d27a394a13fb5cc79b90d7b2047564
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generator uses direct QDir operations for directory creation and file
copying across multiple functions, with inconsistent error handling. The
`copyTemplateFiles` function has a bug where it passes the full source
file path as the destination filename to `Config::copyFile` instead of
extracting just the filename, causing files to be copied with incorrect
names.
The scattered QDir usage makes it difficult to audit where directories
are created and whether path traversal vulnerabilities exist. The
`copyTemplateFiles` bug means template files aren't installed correctly
when referenced by their full paths.
Convert these operations to use the new OutputDirectory's API, fixing
the copyTemplateFiles bug by using `QFileInfo::fileName()` to extract
just the filename. Explicitly handle `QFileInfo::path()` returning "."
for files without directory components to avoid unnecessary
`ensureSubdir()` calls. Centralize directory creation through the
`OutputDirectory` abstraction while preserving existing semantics for
images directory handling in `initializeFormat()`, which will be
addressed separately.
Change-Id: If026168b01930aabe716bacb5bc2a32ddde28c92
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ManifestWriter and HelpProjectWriter write output files directly
without ensuring the output directory exists. When given a non-existent
output directory, they fail silently—appearing to succeed but producing
no files. The same issue affects warning log initialization in
`Location::initializeWarningLog()`.
Users receive no feedback about why documentation isn't generated. This
makes configuration errors difficult to diagnose. The silent failure
violates the principle of failing fast with clear error messages.
Use `OutputDirectory::ensure()` to create output directories with clear
fatal errors on failure. Add explicit error reporting when files can't
be opened for writing, converting silent failures into visible warnings.
This makes directory creation failures fatal with descriptive messages
and file open failures visible as error messages showing the full path
that couldn't be opened.
Fixes: QTBUG-141590
Change-Id: I620b20a40eb6cc63fac274fa612f9fe59604fa3c
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The removal of the entries of the subproperty to property
maps happens in DesignerPropertyManager::slotPropertyDestroyed().
There is no need to additionally remove them from the maps
in the uninitializeProperty() functions.
Coverity-Id: 444450
Coverity-Id: 444465
Task-number: QTBUG-134195
Fixes: QTBUG-134256
Change-Id: Iba57307b08351f37a8227cfce9d7b3cdb382fa4d
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc has no centralized abstraction for output directory handling.
Directory existence checks and creation are scattered throughout the
codebase using raw QDir operations, leading to inconsistent error
handling and repeated validation logic.
This makes it difficult to enforce policies (e.g. secure path traversal
protection) uniformly across all file operations. It also means there's
no type-safe way to pass around directory paths that are known to be
valid, requiring repeated existence checks at every usage site.
This change adds the `OutputDirectory` value type with factory methods
that ensure directories exist before creating instances. This provides a
single API entry point with type-safe guarantees about directory
validity. The `ensureSubdir()` method includes built-in path traversal
protection that rejects absolute paths and ".." components, preventing
accidental writes outside the output tree. All paths are normalized
using `QDir::cleanPath()`, and directory creation failures terminate
QDoc with clear error messages via `Location::fatal()`.
Task-number: QTBUG-141590
Change-Id: Ia3199e33ad8b3c610c5b3be6eebc18e2c8840dc5
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
|
| |
|
|
|
| |
Change-Id: I89dd076742413ad2bf78b4f92f9ee6700ed4ccb3
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: I8f6ac441c2c4dadb66b126ebb8ac91bc34dfcb75
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The QML parser in QDoc always set the base type for a \qmltype as
detected from the type declaration in a .qml file. An \inherits
command was processed but its argument ended up being silently
ignored.
Do not overwrite the argument passed to \inherits. This allows authors
to declare a base type explicitly for documentation purposes.
Fixes: QTBUG-141954
Pick-to: 6.10
Change-Id: I56b474f726d901be357087005ea095bbe349303d
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement automatic label generation using placeholders in lupdate's
meta-strings. Users can now use <context>, <class>, and <file>
placeholders in //@ comments (C++ and Qml) to automatically
generate labels from source code structure.
The feature supports three placeholders:
- <context>: Full context path (namespace::class)
- <class>: Class name only (without namespace prefix)
- <file>: Source filename
Placeholders can be combined with custom text (e.g., <file>:<class>)
to create descriptive labels without manual maintenance.
The commit also makes the restriction of labels to ID-based
translations more clear. Labels are prevented in text-based tr()
functions even if they might have meta IDs, and issues warnings
when misused.
[ChangeLog][lupdate] Added auto-label placeholders (<context>, <class>,
<file>) for automatic label generation in ID-based translations
Change-Id: I1e820eb4a83067224e213eeff72b1fb9ed999468
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Fix:
qttools/src/linguist/shared/parsers/qmakeparser.cpp:130:10: error: reference to ‘statics’ is ambiguous
Task-number: QTBUG-115448
Pick-to: 6.10
Change-Id: Idd643e84ae4dd138c9a1d826916207890c94bb8f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Masoud Jami <masoud.jami@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
The Qml i18n example was removed in patch 688446. Though a left over
reference to its documentation was still in linguist documentations.
This patch removes the invalid reference to the removed Qml
documentation.
Change-Id: Ib95f511fdb5b3cd8e885bfd2598a63cf53c683bd
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
| |
This commit amends to 631925 and removes std::move since
there's no benefit from moving into RHS of QString::op+=.
Coverity-Id: 897286
Change-Id: I22ef116e539dd43ca27aba3472972f0679c21da5
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
| |
As a drive-by, replace the conversion to a hash by a list search.
Change-Id: Ia70fef31c788ce378c682c10b663d75ab64032d1
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
- Fix else after return
- Include-related warnings
- Use algorithm instead of loops
- Minor fixups
Change-Id: I610fe5ae95f80e061a3bcaa6b5659b52c3e7b5f3
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
|
| |
|
|
|
| |
Change-Id: Ic7b9a29760d0de87816264bc262cf2233adf9fb8
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
|