This reverts commit 247fa766d4.
The revert is needed for the Qt 6.8 LTS opensource releases.
They cannot contain commercial SPDX license identifiers.
Task-number: QTLTSOSS-264
Change-Id: I4497677abcbb7831494c2ba845d2c771908ec0a8
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
qDecodeDataUrl() called from createImageNode() had a bug which caused an
assert when parsing the svg in this test. The issue was fixed by
4d839093b480d30eef8a89c0f864ee3f340adaa1 in qtbase. The test shall make
sure that QSvgRenderer warns about the invalid input.
Amends b65af14a2599cd7ad155bd254db9e86d795505d3
Pick-to: 6.5
Change-Id: I35e226046061d2bb40cc5719d8a67f16ae34fe76
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
(cherry picked from commit 2fbfed685f0fa234e37ebe4593d57a7e41930579)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit e12653626354e4cc49c70b8b9d5d5a2462ca4fbe)
Updated the commercial SPDX-License-Identifier to
the source files. Examples, tests, documentation,
or build files are not updated.
Modified licenseRule.json and REUSE.toml accordingly.
Task-number: QTBUG-136484
Change-Id: If7d8c611af4cb99b4d32ede2fd7f3fd6d43b5f87
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
Qt SVG would indiscriminately add outlines to text. Since the pen
has Qt::NoBrush, the outline would not be visible with a normal
QPainter, but it did always trigger the QPainterPath code path which
is taken when the text uses features we don't support through the
native rasterizer backend.
In turn, this would cause all text to be unsearchable when printing
the SVG to a PDF. In addition, all text would be too thick in this
case because the PDF generator adds the outline even if the brush
is Qt::NoBrush.
Fixes: QTBUG-123817
Change-Id: Icff637e65ea9f0c867a374fcbba3f6ad4a6756fc
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
(cherry picked from commit 4d9bd9572f340fb9bc2f96f55ea6836386ac0b0d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 09918e3da44f80bff8bb13cd65984bd7e00c95e6)
(cherry picked from commit 07b3434f91c95d196f687c51e1a58a95a0b1ef2e)
When QIcon asks the SVG icon plugin to create an engine, do not call
addFile on the newly created engine. Inside the plugin code, we lack the
information about which mode and state the user requested. The code was
hardcoding Normal / Off, but that's wrong in the general case (doesn't
match what the user requested, possibly resulting in a data loss).
(This sounds like a problem with the QIcon plugin API, where create()
only takes the filename and not also the size, mode, state.)
Instead, leave the engine empty; QIcon will detect it and call addFile
for us, this time passing the right mode and state.
Change-Id: If1d6c83339c79791f40ecc1832c1631de23d4856
Fixes: QTBUG-135483
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
(cherry picked from commit 260b0a34ce7c7c2c418d501cfeb4dff214c3b706)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 5088d0db5f1aa7219e5f0967ddc3ef35ecfc188c)
To keep an eye on how fixing text rendering influences performance.
Task-number: QTBUG-126268
Change-Id: I01c942454d7b9bd8bf111e373d28302dec8cdb77
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
(cherry picked from commit bdc910e34fbc6f7a9cdf9ecee82652eca22bdd9e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit fa1e9323d9310eec8b96e2a91d66b4518be6fb5a)
Remove css style usage from opacity() as css is not the core tested
functionality. Skip stylePropagation() if cssparser is disabled.
Fixes: QTBUG-136918
Change-Id: I0718fd82f44415dfeb072b661a6ba65d311cc147
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
(cherry picked from commit 333ae371df05a022208fc5e82fbd101e2e029791)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit dcee421bf1f5c97709cdee4afe29abd2ebb7ffc5)
With the exended features it is important to have an eye on rendering
performance. Both rendering on a QPicture and QImage are tested to
isolate the processing in QSvgRenderer and QPainter.
Tested are standard path drawing with tiger.svg as well as elements that
operate on pixel buffers, that are filters, mask and the correct
implementation of group opacity.
Manually cherry-picked from 90114ae5da84714b5c5ec88151a3bf133363c43f
Task-number: QTBUG-135075
Change-Id: I2a877c72f6000725f1b4372a04184c26e5c74243
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
(cherry picked from commit c6f5af72db2021ac160ddbb5669ca51109b7a5c3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Add the boilerplate standalone test prelude to the test, so that it
can be opened with an IDE without the qt-cmake-standalone-test script,
but directly with qt-cmake or cmake. Boilerplate was copied from the
auto tests which already had it.
I also had to remove the requirement of Qt::Widgets which seemed unused
anyway.
Change-Id: I19d49c8d2373eb325b9eb7936997033471584d18
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
(cherry picked from commit 9490189954af5814a5a588854bc0aff2295f8ff8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 412b1775742498f539f00212fc5af124c5a75efd)
Those led to divisions by zero before that was fixed in 78cbbc1.
Credit to OSS-Fuzz which found them as issue 23588.
Task-number: QTBUG-49160
Pick-to: 6.5
Change-Id: I63210104e5d9270f1037919f22a9ff1fa7c110c3
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
(cherry picked from commit 5366939f9146cac993eb37e6f3dfddca4f6f9dc8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit b116901f3387eedfa865b986341d9bb8fa06d821)
Updated the tqtc repository the dependencies.yaml
for the LTS Commercial releases.
Change-Id: Ibb818ccee2e8fc2082a2088d69fe45d52db9a195
Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io>
The old code scanned for the "base64," token from the end
(lastIndexOf()), even though the token appears near the beginning of a
data: URL and cannot repeat. This means we scan potentially large
amounts of (base-64-encoded) image data without purpose.
Instead of using indexOf(), port to QtCore's qDecodeDataUrl(), which
also takes non-base64-encoded data into account. The disadvantage is
that this now requires several recodings (QString -> QUrl -> QString ->
QByteArray). Created QTBUG-134665 to ask for a faster implementation.
Pick-to: 6.5
Task-number: QTBUG-134665
Change-Id: I59e7039be44cd2e0a1a97d78db203a330196d13f
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit b65af14a2599cd7ad155bd254db9e86d795505d3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit aac71446db072ee43a9efc9852c261daefb4de80)
`git-review` is a command line tool for interacting with Gerrit.
Some IDEs offer support for this tool, either natively or through
plugins. The tool relies on a configuration file, .gitreview. Adding
this configuration file to our repositories simplifies initial setup
for contributors that use the tool directly or through their IDE of
choice.
The configuration file adds a remote called 'gerrit'. This is the
default for the tool, and also the name set for
codereview.qt-project.org by Qt's `init-repository` script. Thus,
the configuration should work seamlessly alongside other repository
helpers.
Task-number: QTBUG-132604
Change-Id: I45037ba4c02c305b385d5c4524e37505c63c1784
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
(cherry picked from commit c74d930ee01e8566b5e5802a18f85a8703c7c90e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 7564a866e4ffd3e7aa2b219d06e672ad6a11fa22)
When building Qt with a non-double qreal type, i.e.
QT_COORD_TYPE=float, mixing types on qFuzzyCompare will result
in ambiguities since only
qFuzzyCompare(float, float)
qFuzzyCompare(double, double)
are accepted.
Change-Id: Iee8154e3296a281f8efaac276b9a4d66a20d420b
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
(cherry picked from commit 49affb72c9350eda9c9371bed699de53b8990459)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 72ee803755511bc71c69c04c2feb73cc7301aaa8)
A QUIP 18[1] update sets git files, REUSE.toml and licenseRule.json
as infrastructure type files. They are licensed with:
LicenseRef-Qt-Commercial OR BSD-3-Clause
[1]: https://contribute.qt-project.org/quips/18
Change-Id: I16e723e1c91db7ebf3365df8beee4608337e4ea5
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit e3279704e9c2bc5f4456eb5a00ed7cc5b3ea9f36)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 97a5e781f5239a6f2d9839772ffe865dec9dc13b)
This includes:
- turning VERIFY_SOURCE_SBOM ON
- adding rules to the licenseRule.json files
- correcting the licensing given via REUSE.toml files
- renaming license files not located in LICENSES folder.
Their name needs to be prefixed with `LICENSE.` to be ignored
by reuse and excluded from the source SBOM. The names are
updated in the corresponding qt_attribution.json
A lot of files are skipped during the license test,
but all are present in the source SBOM.
This is why corrections are needed before turning the
source SBOM check on.
[ChangeLog][Third-Party Code] Renamed certain license files outside of
LICENSES with `LICENSE.` prefix such that reuse will correctly ignore them.
Task-number: QTBUG-131434
Change-Id: I7dece901391b5ce77acf3c2eba28253d07348838
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit f507883c0a7801bf54ed647a98a649b7c0d02b81)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 0191fed2885d80cf381337a41519ee82712b1c81)
Amends 05be1624423789148bd8e7beb74667a29ba12509
which added the same guard only for polylines.
The missing guard caused a crash in our baseline test.
Credit to OSS-Fuzz which independently found this as
issue 399769595.
Pick-to: 6.8.3
Change-Id: Ibf150b3cf9d31efce1f658d6b2e53ce82eb33382
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
(cherry picked from commit 8fdfbd940e1112e01a144abae1ebf43cc8a21dbc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 4a53d557b9c05c8ffce367e045cd0a706b9020e7)
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
In case of having a zero length line, the line should be rendered
as a point when the stroke-linecap is set to round or square.
Fixes: QTBUG-132468
Pick-to: 6.7
Change-Id: I7fb12be891eb5eb4fcee0826a4ef8aeb075d4c7d
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
(cherry picked from commit 05be1624423789148bd8e7beb74667a29ba12509)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit fa64e63daccc7b7d2dd88c365a5724d502e457d1)