summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* CMake: Use renamed qt6_add_plugin PLUGIN_TYPE optionAlexandru Croitor2021-08-102-2/+2
| | | | | | | | Task-number: QTBUG-95170 Change-Id: I8f384971cadd07732310541e1e7edfaa158adf89 Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit 45abbde0a528300a70467545071dcf6e4ef9f32f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Limit font size to avoid numerous overflowsRobert Löhning2021-07-271-1/+2
| | | | | | | | | | | | | The font size will be passed through a QFixed in QFontEngineBox::ascent() and overflow there as well as in further places. [ChangeLog] Avoid numerous overflows by limiting font size to 0xffff. This fixes oss-fuzz issue 31701. Change-Id: I2d00c5639804af9b056f0efc979e9899c5358cf7 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> (cherry picked from commit 76eeb072cdffc1a8c776ed01864e6751ccbfba85) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix parsing of arc elements in pathsEirik Aavitsland2021-07-141-3/+16
| | | | | | | | | | | | The arc element takes some flag parameters, which could be mixed up with the float parameters since svg does not require delimiting characters here. Hence legal svg would be misread.. Fixes: QTBUG-92184 Change-Id: I5885c50d47e2e06ab0f02afefb7a5585c5c713ff Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit b313862fa04d9a5403c16670a0d911eb3c633ee5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix parsing of animation clock valuesEirik Aavitsland2021-07-121-35/+35
| | | | | | | | | | | | | Color animation duration parsing mixed seconds and milliseconds. Factor out a common function for all clock value parsing, and add checking for overflow and illegal values as a driveby.. Fixes: QTBUG-94878 Change-Id: Ie1d974cd2db55a3d65d7ce02c373021021070489 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> (cherry picked from commit 1da0a668e52994832d8a048772bed65b61cb0e9b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* CMake: Don't give plugins PUBLIC usage requirementsJoerg Bornemann2021-07-062-2/+2
| | | | | | | | | | | | | | | | | | | | | The pro2cmake.py conversion script faithfully reproduced the .pro files for the plugins, which specified the libraries as public. But in CMake, the implications of this are that public usage requirements should then be propagated to consumers. We don't expect any consumers, since a plugin is created as a MODULE library in CMake, so for Windows we don't even have an import library to link with. The only exception to this is for static builds where plugins are created as STATIC libraries instead, but only in certain controlled situations do we then link to plugins. Even then, usage requirements are not expected to propagate to the consumers, so these relationships should always be specified as private. Task-number: QTBUG-90819 Change-Id: Ifa2d76d6bff7b29d746455aa070a77cbd06879f0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 80dd9dffbc7c7fa2c20954fcd23084f65120b83a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Use checked image allocation in image readerEirik Aavitsland2021-06-081-7/+4
| | | | | | | | | Utilize imageIO's common QImage creation function that implements QImageReader's allocation limit that was introduced in Qt 6. Pick-to: 6.1 Change-Id: Ie273bd874d18aeba30fd6b37d91aa72bd3725cd0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Doc: Use \deprecated instead of \obsoletePaul Wicking2021-06-071-2/+2
| | | | | | Task-number: QTBUG-93990 Change-Id: Ib1714f8105d9bfc751faac69efa28e94546dc6c0 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Use correct name of the internal Zlib moduleAlexey Edelev2021-05-221-1/+1
| | | | | | | | Zlib is renamed in Qt to ZlibPrivate according to the internal module naming policy. Change-Id: I6511ff0c5545e524334486b966354d693db96ffc Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Implement QSvgRenderer::boundsOnElement() for text nodesEirik Aavitsland2021-05-102-3/+26
| | | | | | | | Fixes: QTBUG-32405 Change-Id: Ifb8c418546b378d9e3d6b272fc782775f6010faa Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* CMake: Adapt to new WrapZLIB packageAlexandru Croitor2021-04-221-3/+3
| | | | | | | Pick-to: 6.1 Change-Id: I9ec888e4d5d8699c2f35fac386b35de5ab72319a Reviewed-by: Alexey Edelev <alexey.edelev@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Fix build without features.mimetypeTasuku Suzuki2021-04-151-2/+4
| | | | | Change-Id: I0438c040837dddc80453826b423822679f94774c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix build without features.graphicsviewTasuku Suzuki2021-04-151-1/+5
| | | | | Change-Id: I6275a732c5191803426bc89d076a330f9e671529 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Make image handler accept UTF-16/UTF-32 encoded SVGsEirik Aavitsland2021-04-081-15/+22
| | | | | | | | | The canRead() header checks assumed 8 bit encoding. Pick-to: 6.1 6.0 5.15 Fixes: QTBUG-90744 Change-Id: Ibe934fe9ed31b89ee0fbfc4562aa66ab1b359225 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Improve parsing of "r"Allan Sandfeld Jensen2021-03-051-3/+6
| | | | | | | | Negative r values are illegal, and zero means empty for circles. Pick-to: 6.1 Change-Id: Icb1d932f35909f71dafe1ee69eb2250eeb1bb2ad Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Clamp parsed doubles to float representable valuesAllan Sandfeld Jensen2021-03-041-1/+4
| | | | | | | | | | | | Parts of our rendering assumes incoming doubles can still be sane floats. Pick-to: 6.1 6.0 5.15 5.12 Fixes: QTBUG-91507 Change-Id: I7086a121e1b5ed47695a1251ea90e774dd8f148d Reviewed-by: Robert Löhning <robert.loehning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Avoid buffer overflow in isSupportedSvgFeatureRobert Löhning2021-02-181-2/+6
| | | | | | | | Fixes oss-fuzz issue 29873. Pick-to: 6.0 6.1 Change-Id: I382683aa2d7d3cf2d05a0b8c41ebf21d032fbd7c Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Remove QMake project filesJoerg Bornemann2021-02-1110-193/+0
| | | | | | | | | | This includes removal of the corresponding .prev_CMakeLists.txt files. Pick-to: 6.1 Task-number: QTBUG-88742 Change-Id: I99eb79f677b4fff3f3336371d91c841de5198ffc Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Sanitize font weight value in QSvgFontStyle::applyRobert Löhning2021-01-291-1/+3
| | | | | | | | | | Assigning values outside the enum's range is undefined. Fixes oss-fuzz issue 29432. Pick-to: 6.0 Change-Id: I31f4d64a15803b13a3cb8dc07702da24ca74ebc2 Reviewed-by: Jonas Karlsson <jonas.karlsson@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Improve handling of malformed numeric values in svg filesEirik Aavitsland2020-12-031-0/+3
| | | | | | | | | | Catch cases where the input is not containable in a qreal, and avoid passing on inf values. Pick-to: 6.0 5.15 5.12 Change-Id: I1ab8932d94473916815385240c29e03afb0e0c9e Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix MSVC warning about integer conversionFriedemann Kleint2020-11-121-1/+1
| | | | | Change-Id: I4b17890099f74d6571e1aee9e4523c6b7b9fb7e9 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Rename "Porting" pages to "Changes"Jerome Pasion2020-11-092-3/+3
| | | | | | | | | | | | | | The content in the porting guides are closer to a changelog than a porting guide. At this point, it is easier for maintainers and contributors to write in a changelog than a guide. This change should help with readability and is closer to the usage of "Changes" in documentation. Part of a rename in other submodules. Task-number: QTBUG-87156 Change-Id: I6df6690e014228e59cda9b1964f5bb7f3a4c9459 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QtSvg: build with explicit QChar(int) constructorDavid Faure2020-11-072-4/+4
| | | | | Change-Id: I4d2a336b63f65ae6235b9a4b5c899e4d624492cd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Short porting guide for QtSvgVolker Hilsheimer2020-11-041-1/+3
| | | | | | Fixes: QTBUG-88134 Change-Id: I3c21d4b76ae62793b2503e0a16d3794338ba39cd Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Add support for 'image-rendering' attributeAles Erjavec2020-11-034-6/+83
| | | | | | | | | | | Write and parse the 'image-rendering' attibute. The value is mapped to QPainter::SmoothPixmapTransform render hint. [ChangeLog] Add support for 'image-rendering' attribute Task-number: QTBUG-4145 Change-Id: I5268eac73b234cd195adade502ab9945a89f3ff6 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Organize QtSvgWidgets documentationVolker Hilsheimer2020-10-295-4/+22
| | | | | | | | | | Give the widgets class a place to call home. QtSvgWidgets is just a library, not a separate module, but we need a module page that the classes can refer to for correct build instructions. Change-Id: Id7ab95d879991c4b7b375d3c4df9f97206efe181 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Allow loading SVG files with a doctype declarationNicolas Fella2020-10-212-6/+6
| | | | | | | | | | | | | | | SVGs may have a DOCTYPE declaration (https://www.w3.org/TR/2003/REC-SVGMobile-20030114/) in their first line. This patch makes sure those SVGs are loaded properly Fixes: QTBUG-87583 Pick-to: 5.15 5.12 Change-Id: Ia3dcb519b6ee2b498dc81ef496764d99ea6c4a9a Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Reject corrupt svgs with invalid sizeEirik Aavitsland2020-10-161-0/+4
| | | | | | | | | Fixes oss-fuzz-24735. Pick-to: 5.15 5.12 Change-Id: I626905562d37b1e53bd346b13bd88894401818ca Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-10-014-17/+27
| | | | | | | | Modify special case locations to use the new API as well. Task-number: QTBUG-86815 Change-Id: Ie75a59430afde730291fb3b3e01fb4822f543e2f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Doc: Add Qt 6 changes filePaul Wicking2020-09-242-0/+50
| | | | | | Task-number: QTBUG-84051 Change-Id: I8a03ac02849a2babeee6fe8cc60f7540520af949 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* CMake: Regenerate projects before API changeAlexandru Croitor2020-09-225-5/+23
| | | | | | | Task-number: QTBUG-86815 Change-Id: I2b5975cc1995518f1995955d9b655ab26e764ad0 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Cristian Adam <cristian.adam@qt.io>
* Port from devicePixelRatioF() to devicePixelRatio()Morten Johan Sørvig2020-09-141-1/+1
| | | | | Change-Id: I25e779c7a668cf9f2fb2b2c56c5d8bccba138153 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Work around uninitialized variable in QRadialGradientLars Knoll2020-09-121-1/+1
| | | | | | | | Specify the focal radius explicitly to avoid an uninitialized variable in QGradient. Change-Id: I40e44579e2364862a8bc23ef54a9e858c4ba837a Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Change classification of XSVG LicenseKai Koehne2020-09-071-2/+3
| | | | | | | | | | | | [ChangeLog][Third-Party Code] XSVG license was re-classified to HPND-sell-variant, "Historical Permission Notice and Disclaimer - sell variant" https://spdx.org/licenses/HPND-sell-variant.html Pick-to: 5.15 Pick-to: 5.12 Change-Id: Icff6d7f072f0d4b64bd1c5ce703c8c007184ad8a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Use OpenType font weightsJonas Karlsson2020-08-284-51/+14
| | | | | | Task-number: QTBUG-42248 Change-Id: If3984fa22b89a65fd126d42b3a2320d5ab16c94b Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Avoid recursion when inflating compressed svgsEirik Aavitsland2020-08-281-10/+14
| | | | | | | | | | | Avoid the possibility of recursion loop for corrupt compressed files, and generally simplify the code, particularly the handling of the QT_NO_COMPRESS flag. Pick-to: 5.15 5.12 Change-Id: Ic21a4814a45c4303cc366152be65ae54fa973461 Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Implement basic format check also for compressed svgsEirik Aavitsland2020-08-271-6/+19
| | | | | | | | | | | | | | | | For uncompressed files, QSvgIOhandler::canRead() will reject any file that does not start out with a svg or xml tag. That rudimentary check was never done for compressed files (svgz). Implement the check during the decompressing itself, so that we can fail early and not waste time and memory decompressing potentially huge files that are anyway not valid svgs. Fixes: oss-fuzz-24611 Pick-to: 5.15 5.12 Change-Id: I154efd8adafe7f09307e8b28a66b536539b1e4bd Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't return partially inflated QByteArrayRobert Loehning2020-08-261-1/+1
| | | | | | | | | | We're already stopping the extraction because we're running out of memory. It's no use to return this provisional result. Pick-to: 5.12 5.15 Task-number: oss-fuzz-24611 Change-Id: Iea5a65a0f30b7a03c5405017c21cd9495a7c2971 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Initialize QSvgHandler with QBuffer instead of QByteArrayRobert Loehning2020-08-241-1/+4
| | | | | | | | | Reduces memory consumption significantly for huge files. Fixes: oss-fuzz-24347 Pick-to: 5.15 Change-Id: Iebf58d5f73030336d219ad770e1d1d2798c10067 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix check against division by zeroRobert Loehning2020-08-181-4/+5
| | | | | | | | | | The squared values must not be zero. Since both are qreal, this can happen even when neither of them is zero itself. Fixes: oss-fuzz-24738 Pick-to: 5.12 5.15 Change-Id: I61b2bc891e7e3831d4b6ee68b467db28c4f877d4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't divide by zeroRobert Loehning2020-08-041-0/+2
| | | | | | | Fixes: oss-fuzz-24308 Pick-to: 5.15 5.12 Change-Id: I628f073cc2ec99b18333d2831c53cd888ebc5780 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Use qFuzzyIsNull instead of isEmpty() on QRectFRobert Loehning2020-07-301-1/+1
| | | | | | | | | | Avoids an integer overflow in QOutlineMapper Fixes: oss-fuzz-24131 Pick-to: 5.12 5.15 Change-Id: I77a280640df4971e440d3f8888d2e7036a1f2e6a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Avoid endless recursion in SvgStructureNode::boundsRobert Loehning2020-07-302-2/+8
| | | | | | | Fixes: oss-fuzz-24028 Pick-to: 5.12 5.15 Change-Id: I2ddfcd494747f2857d56ce54bc9c4ee3f986ac3e Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Avoid endless recursion when inflating gzipRobert Loehning2020-07-291-3/+5
| | | | | | | Fixes: oss-fuzz-24146 Pick-to: 5.12 5.15 Change-Id: I52a974e6a0694fb4afb50d932b2e99917c3034b2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Return nullptr instead of 0Robert Loehning2020-07-241-1/+1
| | | | | | Pick-to: 5.12 5.15 Change-Id: I200214f90ce399034dabc61b00d20f7def8d923d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix support for pattern brushes in svg generatorEirik Aavitsland2020-07-211-1/+1
| | | | | | | | | A typo had left a stray semicolon in the id string. Fixes: QTBUG-84607 Pick-to: 5.15 Change-Id: I8bd3e68ec2184a238ea949d555f88abb14cff2dc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Don't divide by zeroVolker Hilsheimer2020-07-171-0/+3
| | | | | | | | Fixes: oss-fuzz-23731 Pick-to: 5.15 5.12 Change-Id: Ib21a32a30f7a204d263e6710f17567d91c6aae79 Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix stack overflow in dtor of QSvgTinyDocumentRobert Loehning2020-07-151-1/+10
| | | | | | | | | | Add a maximum to how many unfinished elements will be parsed by QSvgHandler. Fixes: oss-fuzz-24000 Pick-to: 5.15 5.12 Change-Id: I4cea0500d2bc503d2c509d091300dd1117170299 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Port QtSvg from QStringRef to QStringViewKarsten Heimrich2020-07-023-176/+138
| | | | | | | Task-number: QTBUG-84319 Change-Id: I6358030d1d7e0e023453edea10da535707320ea4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove QXmlStreamStringRef usage hereLars Knoll2020-07-022-10/+10
| | | | | | | Simply using a QString is easier. Change-Id: I4088a2230a926fc125e3444da2a3763ce1317ce3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Update docs with cmake package informationNico Vertriest2020-06-251-0/+1
| | | | | | Task-number: QTBUG-85179 Change-Id: I109466030fe0beddc9706229659a2d775f4262d1 Reviewed-by: Paul Wicking <paul.wicking@qt.io>