summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Add ; to Q_UNUSEDLars Schmertmann2020-06-231-5/+5
| | | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I24cc0f6735ddd8fb2444bc3bb4e7b202e8bbb43f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add error handling to color parsingAllan Sandfeld Jensen2020-06-231-19/+22
| | | | | | | | | | Also fixes undefined shift of negative values. Fixes oss-fuzz 23644 Pick-to: 5.15 5.12 Change-Id: I08c998ebf2217cb8dc50fcb805603e01e67ad64b Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix stack overflow in QSvgHandler::resolveGradientsAllan Sandfeld Jensen2020-06-232-5/+7
| | | | | | | | | | Add a maximum to how deep it will nest. Fixes oss-fuzz 23643 Pick-to: 5.15 5.12 Change-Id: I6183c04f65a539a6c7df42bc7346a86ee58aca6c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix oom in QSvgTinyDocument::loadAllan Sandfeld Jensen2020-06-231-0/+6
| | | | | | | | | | | Avoid overflowing the size integer. Fixes ozz-fuzz 23606 Pick-to: 5.15 5.12 Change-Id: Iaae2c1e78e59737bba0e34791de4a3a92677f319 Reviewed-by: Robert Loehning <robert.loehning@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Use QRect::isEmpty instead of QRect::isNullAllan Sandfeld Jensen2020-06-221-5/+5
| | | | | | | | | | | Otherwise we can end up processing empty rects, and get divisions by zero. Fixes oss-fuzz issue 23633. Pick-to: 5.15 5.12 Change-Id: I0415462712792cb6a00eadd510b1688e859c419c Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Handle empty rectsAllan Sandfeld Jensen2020-06-221-10/+15
| | | | | | | | | | | | Avoids a division by zero, also we don't appear to support auto sizes, so width and height are required attributes. Fixes oss-fuzz issue 23588. Pick-to: 5.15 5.12 Change-Id: Ib3474c2ed4409977f6ffcf73088956c6c59ce4ad Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Robert Loehning <robert.loehning@qt.io>
* Fix build after removal of QStyleOption::init in qtbaseVolker Hilsheimer2020-06-221-1/+1
| | | | | | | | | Use QStyleOption::initFrom instead. Align with qtbase 26a226630443a20bb2d3015431c019614e33a061. Change-Id: I244f4c51733dd97df37f3577debde4086721ab7b Reviewed-by: Liang Qi <liang.qi@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-087-32/+32
| | | | | | Task-number: QTBUG-84469 Change-Id: I8c3e80c77422abeb23fff747bf4ca479ff0d35b3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Use exported highlighter from QtWidgets rather than duplicating codeVolker Hilsheimer2020-06-021-59/+3
| | | | | Change-Id: Ib868993fd9a205c9b7d05df74fedbcdb953b4712 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Move QSvgWidget and QGraphicsSvgItem into separate moduleVolker Hilsheimer2020-05-2914-46/+149
| | | | | | | | Long live QtSvgWidgets. This makes QtSvg independent of QtWidgets. Fixes: QTBUG-41884 Change-Id: I421d27d35b651ee8cdf1a5280d5594b82359ddab Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Remove QTextCodec dependency from QtSvgLars Knoll2020-05-151-4/+0
| | | | | | | QTextStream writes in UTF-8 by default now anyway. Change-Id: Idb94484b888bfe21231fe3f34b33eaab1d33ef78 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devQt Forward Merge Bot2020-03-213-5/+8
|\ | | | | | | Change-Id: I3b34cd3eea8dba0047a8eebe36f3caeef0195069
| * Merge remote-tracking branch 'origin/5.14' into 5.15v5.15.0-beta4v5.15.0-beta3Qt Forward Merge Bot2020-03-183-5/+8
| |\ | | | | | | | | | Change-Id: Ic4b8abc44f58b3d5d34cddf2743d0d172df4a374
| | * Strip the quotes around the font familyAndy Shaw2020-03-103-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to changes in how QFont handles a family it should be given the whole string without quotes so it can find the family name correctly. Additionally, this changes it to use setFamilies instead of setFamily to make this more future-proof. Fixes: QTBUG-81926 Change-Id: I659950cf244c1f7a1a5dae6e7b0e136cfe274d47 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | CMake: Regenerate some of projects to be up-to-dateAlexandru Croitor2020-03-064-3/+15
| | | | | | | | | | | | | | | Change-Id: I7d490ab372a169de653f6be9702123ddd647c04c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | CMake: Handle zlib dependency correctlyAlexandru Croitor2020-03-062-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately whenever a module or plugin uses zlib, the .pro file contains a copy-pasted conditional scope when to use system zlib and when to use the Qt bundled zlib. The pro2cmake script handles the linking part, but not the find_package part. We need to explicitly search for the correct package depending on whether system zlib feature is on or off, and also make sure not to search for the system one in case it already exists (can happen in static builds). Change-Id: I9c0d678815e4dc0f8e239c3b4667a375aeb757c1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | | Merge remote-tracking branch 'origin/5.15' into devSimon Hausmann2020-03-053-12/+2
|\ \ \ | |/ / | | | | | | Change-Id: I4bbe7513984fe00c90e5fa897c9eebab61d1dc5e
| * | Remove overridden QSvgIOHandler::name()Shawn Rutledge2020-03-032-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | We will remove the virtual base class function in Qt 6. For now, name() returns format(). Change-Id: Iee5bd4194d23178b3d8b602950cc5c01d097d44b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * | Use Qt::SplitBehavior in preference to QString::SplitBehaviorEdward Welbourne2020-03-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The Qt version was added in 5.14 "for use as eventual replacement for QString::SplitBehavior." Move another step closer to that goal. Change-Id: Ieabf1eeb03b682f06344d0373de036f8f4534042 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>