summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* MSVC: Don't set a DLL base address for 64-bit5.10Thiago Macieira2018-01-241-1/+1
| | | | | | | | | | | | The linker complains: LINK : warning LNK4281: undesirable base address 0x67000000 for x64 image; set base address above 4GB for best ASLR optimization And it's not really required anymore, as the recommended /DYNAMICBASE is the default. Change-Id: I56b444f9d6274221a3b7fffd150caab1beecfd43 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* svgiconengine: Fix isNull() for deserialized iconsPalo Kisa2018-01-101-1/+1
| | | | | | | | | | | | | | | In 4a9470e55ce08752501868c60762268fdf2c44af there was introduced specific isNull() implementation for QSvgIconEngine. But the existing check was not sufficient for the scenarios where the QIcon is constructed by deserialization from QDataStream (from previously serialized valid svg QIcon). We also need to check the svgBuffers as the previously serialized svgFiles are silently ignored by QSvgIconEngine::read(). Change-Id: Id64ce233baead053c8b5ca61f1d416e46a8c6088 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: David Edmundson <davidedmundson@kde.org>
* Merge remote-tracking branch 'origin/5.9' into 5.10v5.10.0-rc3v5.10.0-rc2v5.10.0-rc1v5.10.05.10.0Liang Qi2017-11-154-1/+18
|\ | | | | | | Change-Id: I2c5f1f592e2141b93fa274124a96f2a63b83acdb
| * Fix crash on recursive self-referral in <use> elementEirik Aavitsland2017-11-154-1/+18
| | | | | | | | | | | | | | | | | | | | Referring to an ancestor in a <use> element would lead to endless recursion. Add checks to avoid recursion, and also emit a warning while parsing. Task-number: QTBUG-64425 Change-Id: I9ee1b9bfef13796cc3f387ff8579c6b13bc4ae9a Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-3011-42/+60
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I8b9a5a395dbd6659f7806eeebdd665c760a71ec1
| * Fix outdated FDL license headerv5.9.35.9.3Kai Koehne2017-10-173-15/+15
| | | | | | | | | | Change-Id: I2a2501a61107717b8e1adacad064664cf54cd972 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * Fix outdated BSD license headerKai Koehne2017-10-173-9/+39
| | | | | | | | | | Change-Id: I3917e7ab180b49c77bff0d071eca10f8bc7f33c7 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
| * Avoid possible detachingAndré Klitzing2017-10-101-2/+2
| | | | | | | | | | Change-Id: Iea5521d1fd53d5af21f99023f8d9ed15ef2f4f68 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Remove unused variablesAndré Klitzing2017-10-062-11/+0
| | | | | | | | | | | | Change-Id: I82fe38e2fbcc070d02d2acb34a43a8c971e84ae9 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * Add missing emitAndré Klitzing2017-10-061-1/+1
| | | | | | | | | | Change-Id: I2a3c0a3734548919d8a337b88b9aa6fdf725bbc1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Return correct PdmDevicePixelRatioScaled metricAles Erjavec2017-10-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | QSvgGenerator::metric returned incorrect value for `PdmDevicePixelRatioScaled` resulting in degenerate `devicePixelRatioF()` return value. [ChangeLog][][QSvgGenerator] Report correct devicePixelRatioF Task-number: QTBUG-63159 Change-Id: Ib45e930b6b1b6d85aea5a68dd2b1b5f16a4eed3b Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * Remove inaccurate statement about using setSize() from the documentationv5.9.25.9.2Andy Shaw2017-08-231-3/+1
| | | | | | | | | | Change-Id: I9a18a0cfc86411336cbf29e0b7fb2f77f704d284 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devv5.10.0-beta3v5.10.0-beta2v5.10.0-beta1v5.10.0-alpha1Liang Qi2017-08-152-4/+5
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I1ebd40264cf1afaf5bcbf8b2f272e153f51a5625
| * Fix matrix multiplication in parseTransformationMatrix()Christoph Stein2017-07-031-3/+3
| | | | | | | | | | | | | | | | | | Sequencing of a matrix multiplication seems to be erroneous, this may lead to incorrect svg rendering under certain circumstances Task-number: QTBUG-61568 Change-Id: Id8b6c425d4affde8c71faad455a63a87ef5e13a4 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * Do not reallocate memory for QImageAllan Sandfeld Jensen2017-06-201-1/+2
| | | | | | | | | | | | | | | | | | | | If the QImage given to read() already has the right size and depth, we don't need to allocate a new image. This is consistent with other image decoders and why a QImage is provided to the method in the first place. Change-Id: I4944211d4a8d4f19d000cace4a48df505d375f52 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Fix table-row-group in displayStringToEnumRobert Loehning2017-06-071-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-60583 Change-Id: I685d4d68663703e220150869dff671718a8190a1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-071-6/+5
|\ \ | |/ | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Idf7f59a8c4b78438b496f2c16ba9ce48573042e9
| * Correctly parse the stroke-dasharray attributesAndy Shaw2017-05-301-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | When a stroke-dasharray had multiple values separated by spaces it would end up combining them into one instead of treating them separately. This ensures that it is correctly respected. [ChangeLog] Parses the stroke-dasharray attributes in a SVG file correctly. Change-Id: If6e9babe9f63637e56d3d1dba914557829f9d5f0 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-04-219-95/+182
|\ \ | |/ | | | | Change-Id: I855627bf0387be820d97bbc0226fed07fd1db64a
| * Merge remote-tracking branch 'origin/5.8' into 5.9v5.9.0-beta4v5.9.0-beta3Liang Qi2017-04-181-1/+1
| |\ | | | | | | | | | Change-Id: I4b41cae71f5a5f734a7e3bb8b95130b0cb35e0ac
| | * QSvgIconEngine: Paint correct size if device pixel ratio is fractional5.8Błażej Szczygieł2017-03-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Use method which returns qreal. It is available since Qt 5.6. Task-number: QTBUG-59729 Change-Id: Ifc1a101c8dd837597c35ce14f0314218d2882501 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * | Fix warnings for -no-feature-cssparserv5.9.0-beta2v5.9.0-beta1Nikita Krupenko2017-03-291-2/+4
| | | | | | | | | | | | | | | Change-Id: Ifdb27c6fed26f95acff30f64259d6905e88c3a6f Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| * | Merge remote-tracking branch 'origin/5.8' into 5.9Liang Qi2017-03-104-63/+47
| |\ \ | | |/ | | | | | | Change-Id: I9244a68bf4709fa136c52132a66d70d7c0b8897b
| | * Merge remote-tracking branch 'origin/5.8.0' into 5.8Liang Qi2017-01-264-63/+47
| | |\ | | | | | | | | | | | | Change-Id: If6f9147b14fcf698e707069a7334404dfc21be14
| | | * Document 3rd party code using new setupv5.8.0-rc1v5.8.05.8.0Kai Koehne2016-12-074-63/+47
| | | | | | | | | | | | | | | | | | | | Change-Id: I7495086a3712ef817380c80d3dea7d49da047ed8 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * | | Fix radial gradient brushes in svg generatorEirik Aavitsland2017-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code would generate radial gradiants named with an "xml:id" attribute, in contrast to linear gradients which is named by an "id" attribute. Those two forms should be equivalent according to the spec, but in practice most browsers and viewers only accept the latter. Change-Id: I798387bdbd3a6ea831af8ce103683141b567e940 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * | | Add support for pattern brushes to svg generatorEirik Aavitsland2017-02-141-1/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pattern brushes was not implemented in the svg generator. Shapes drawn with such brushes would not be included in the svg file. [ChangeLog][][QSvgGenerator] Add support for pattern brushes Task-number: QTBUG-58148 Change-Id: Ib275661c596631fea64cb250c9743a529cd7b834 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * | | Fix svg generation for non-normalized rectanglesEirik Aavitsland2017-02-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The raster engine accepts and renders non-normalized rectangles. Make the svg paint engine do the same, instead of just ignoring them. Task-number: QTBUG-58145 Change-Id: Ifa82fd580574bc908552efbb1eeace21bde76ed7 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
| * | | Improve the error messages of QSvgHandlerv5.9.0-alpha1Friedemann Kleint2017-02-021-14/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a function printing file name and location. Could not resolve property : linearGradient4538 becomes /usr/share/icons/breeze/actions/24/document-new.svg:123: Could not resolve property: linearGradient4538 Task-number: QTBUG-52079 Change-Id: I843f65eb4ca517d103031f9921a16090a6ff6720 Reviewed-by: David Faure <david.faure@kdab.com>
| * | | Introduce logging category "qt.svg"Friedemann Kleint2017-02-023-22/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is then possible to suppress warnings by setting for example QT_LOGGING_RULES to qt.svg.warning=false. This will suppress the warnings floods which are currently produced by faulty theme svg icons on KDE 5 systems. Task-number: QTBUG-52079 Change-Id: I50e3c2e3eab610e182293c8938c6188694eabfb7 Reviewed-by: David Faure <david.faure@kdab.com>
* | | | Implement QIcon::isNull support for QtSVG IconsDavid Edmundson2017-04-042-0/+9
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was via a virtual hook in QIconEngine in Qt 5.7 This is especially useful for the SVG icon loader which returns no availableSizes which means we currently have no way to tell if an icon was loaded or not. Change-Id: Ic14971f94213fb2309f29bd0daa0a1c387d4da3c Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-251-0/+4
|\ \ \ | |/ / | | | | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I4965154ceaebc75fa968417f3cba47582574a01d
| * | Paint the background if one has been set via a stylesheet for the widgetAndy Shaw2017-01-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | If there is no stylesheet set then this is a no-op, it ensures that this much of the stylesheet is still utilized when one is set. Change-Id: I6f3c15b2ddf89d8e4471acf094a48141ff06d511 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | Use defaultSize according to svg standard in svg pluginLars Schmertmann2017-01-041-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The viewBox attribute defines the svg internal coordinate system. If no width/height is set, the viewBox size is the right choice for defaultSize. Otherwise the standard prescribes that the specified height/width must be used. The old behavior ignored the width and height attributes, and this caused a lot of problems in qml. If the viewBox was very small the result was a low resolution image. If the viewBox was very large, loading took ages and the result used much more memory than needed. Both situations could be avoided by setting sourceSize. But when using the same image several times, the sourceSize must be set every time to the same value, otherwise the image cache would not work. It is cheaper to have the same high-quality source image in the cache, and scale it down when required. With the new behavior it is possible to control the default image size directly in the svg file at one place while it is still possible to set different sourceSizes if needed. Task-number: QTBUG-44863 Change-Id: I9c2fc7c122a29ebcf288b7cbd12427e081d404d5 Reviewed-by: André Klitzing <aklitzing@gmail.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Add missing override and remove redundant virtualAlexander Volkov2016-12-068-101/+101
|/ | | | | | Change-Id: I9c6bc47803b5decb47787ad69f42259e85470f57 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-2610-48/+61
|\ | | | | | | Change-Id: I43247261a4dc8badc4ad4f4d2137cdbd499f29db
| * Merge remote-tracking branch 'origin/5.6' into 5.75.7Liang Qi2016-11-247-3/+32
| |\ | | | | | | | | | Change-Id: Ibcca419da389fc7538ee050de7c59e8b400e1978
| | * Use separate metadata files for plugins if QT_NO_COMPRESS is definedAlexander Volkov2016-11-105-0/+16
| | | | | | | | | | | | | | | | | | | | | Change-Id: Ib15aa96c2ed84cf3ce9793385476f9fb3cacec8c Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Imageformat plugin: Add mime type "image/svg+xml-compressed"Alexander Volkov2016-11-101-1/+1
| | | | | | | | | | | | | | | | | | Change-Id: I3cf5d9b6d6212128adab4682de33b192672f7c1f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| | * Ignore .svgz images unless compression is enabledAlexander Volkov2016-10-272-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | The imageformats plugin was trying to pass them off to QSvgRenderer, which can't handle them when QT_NO_COMPRESS is defined. Change-Id: I92241370d8fd4ed2328fb13a01306fa8a7e5ef6e Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * | Remove unused methods from plugin classes5.7.1Alexander Volkov2016-11-112-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | Remove QIconEnginePlugin::keys() and QImageIOPlugin::keys(): they are not overriders since Qt 5.0. Change-Id: I9127b5b72c9c37b450c6f0d0095e47b8d5454322 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * | Add missing 'override' keyword to pluginsAlexander Volkov2016-11-114-18/+18
| | | | | | | | | | | | | | | | | | | | | Change-Id: I423b8531434d221880410cb3b40f10e6061769ff Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
| * | Replace Q_DECL_OVERRIDE by overrideAlexander Volkov2016-11-101-11/+11
| | | | | | | | | | | | | | | Change-Id: I05e7e2984c70173408491deeeb2df92a578f00f9 Reviewed-by: hjk <hjk@qt.io>
* | | Fix checking for feature 'imageformatplugin' in pluginsFriedemann Kleint2016-11-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Fix warning: qtsvg/src/plugins/plugins.pro:3: Cannot find feature qfeatures Change-Id: I0484aa2b1b217f1e22dc91a5d346bfeade175ab4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into 5.8v5.8.0-beta1Liang Qi2016-09-191-19/+39
|\ \ \ | |/ / | | | | | | Change-Id: Ib061ded7b4a5e18a1e4d277a840c1916aa51c79f
| * | Merge remote-tracking branch 'origin/5.6' into 5.7v5.7.1Liang Qi2016-09-171-1/+1
| |\ \ | | |/ | | | | | | Change-Id: I7680d625bf0afec0bfd16a97c6656aab426f39a7
| | * Fix UB (signed overflow) in QSvgIconEnginePrivate::pmcKey()Marc Mutz2016-09-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found by UBsan: qsvgiconengine.cpp:64:84: runtime error: left shift of 537133056 by 4 places cannot be represented in type 'int' Fix by casting to qint64 at the start of the shift-or chain. The total cumulative shift is by 28 places, so 64 bits should be enough to not overflow anymore. Change-Id: Ia37bc98c5af67a4de10fb9807addd369110f36d2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * | QSvgIconEngine::addFile(): Use QMimeDatabase to determine file typeFriedemann Kleint2016-08-301-18/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce an enumeration to describe the file type and use QMimeDatbase to determine the type. This will detect SVG files also in the case resource aliases without suffixes are used. As a drive by, do not pass compressed SVG files to QPixmap when QT_NO_COMPRESS is defined, as this likely results in garbage. Task-number: QTBUG-55388 Change-Id: Ib8bafca60e9238412a5c7edf560d487e512b8fd0 Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* | | QSvgGenerator: prefer QColor::name() over QString::arg() cascadeMarc Mutz2016-09-131-5/+1
| | | | | | | | | | | | | | | Change-Id: I994bcc0a4d0587dbb1f0566a7a6b3f110f1175aa Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | Eradicate Q_FOREACH loops and mark the module as Q_FOREACH-freeMarc Mutz2016-09-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In BearerCloud::timerEvent(), bite the bullet and use a std::vector instead of a QList to avoid repeated qAsConst() applications. In BearerCloud::configurationRemoved() and configurationChanged(), instead of iterating over QMultiMap::uniqueKeys() and QMap::remove(), iterate directly over the QMultiMap and remove the desired elements. Cache a QString. In BearerCloud::updateConfigurations(), instead of using while !isEmpty() takeFirst() on a local copy of a QList, simply iterate over the QList (now made const) using C++11 ranged for. In tst_QSvgGenerator, replace a QList of statically-known size with a C array. Change-Id: Ic0dd1c67d0819fe6167f2bce248f9b910be65803 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>