| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The canRead() function is supposed to check for the presence of a 12
byte magic number (header). It used qstrncmp() for this, but as the
byte sequence starts with 0 values, the comparison would end after the
first byte, and any data also starting with a 0 value would be taken
as matching.
This would make QImageReader mis-identify the image format of image
data where an explicit suffix or data format was lacking, resulting in
image reading failures. The macheif autotest would hit this issue and
fail erroneously.
Pick-to: 6.8 6.7 6.5
Change-Id: I39b1ba9a344478fe1255c89f19488f0bc54d2ec1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the IIOF helpers are compiled multiple times into different
handler binaries, there is a potential for symbol clash when they are
linked into the same app. Solve by enclosing the IIOF helper class in
a namespace specific to each handler.
Fixes: QTBUG-113349
Pick-to: 6.7 6.5
Change-Id: I9784d5f76d990222dba0ba12e3ca30bfaa9945cc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog][Third-Party Code] Update bundled libwebp to version 1.4.0
Pick-to: 6.7 6.5 6.2 5.15
Change-Id: I34bc162e3b64be75da0f82a0a7329eb1a0356239
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use TIFFClientOpenExt() and set an error/warning handler to be able
to pass the output through the Qt logging system. Use
qt.imageformats.tiff as the logging channel.
This requires libtiff >= 4.5.0
Pick-to: 6.7
Fixes: QTBUG-122829
Change-Id: I19d453ced9af0b6bc20988f6f1505988c1c1aa5c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This work has been kindly sponsored by the QGIS project
(https://qgis.org/).
[ChangeLog][TIFF] Added support for loading and saving of 8-bit CMYK
TIFF files.
Change-Id: I380ef56023fea17f6155ee50fd09421891fbf192
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QColorSpace only handles RGB matrix-based ICC profiles.
If one creates a QColorSpace out of an unsupported profile,
QColorSpace will still store it internally, to avoid a data loss
(e.g. loading and saving an image with an unsupported profile
is meant to preserve that profile, even if Qt was not able to use it.)
The TIFF plugin handler wasn't handling this case correctly, as
it checked whether the color space was valid (it wasn't), rather
than checking if it contained ICC data. Amend the check.
Change-Id: I68b89d6b9c27c2b1e5a6e348b91ebf510f8dc10d
Pick-to: 6.7 6.5 6.2
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Checking should be disabled if the limit is set to 0.
Fixes: QTBUG-118797
Pick-to: 6.7 6.6
Change-Id: Ie5e01fb3d3b44eae957dbb66237eb7e9d13dc8b6
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
|
|
|
|
|
|
|
|
|
|
|
| |
It avoids absolute paths to a specific Apple sysroot when building
multi-arch iOS, and thus avoids any potential trouble with picking up
a header from an incorrect sysroot.
Pick-to: 6.2 6.5 6.6
Task-number: QTBUG-118138
Change-Id: I98af023f1f34e9b7d2d04ad436327c3f10b827cc
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
| |
It seems the builtin converting reader doesn't support all formats.
Change-Id: Ia24b4d017476e2dd806861c3e98f3df19dce4584
Fixes: QTBUG-112947
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
| |
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: Idcaf2a62fe8811aac757c8d20dca67b9f2ac1a6b
Reviewed-by: Amir Masoud Abdol <amir.abdol@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.5
Change-Id: Ic00df7d45246270d724b3b1d1ef9d13d76dcc136
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Third-Party Code] Bundled libtiff was updated to version 4.5.0
Fixes: QTBUG-109972
Pick-to: 6.5 6.4 6.2 5.15
Change-Id: I2121b68c5a09ca322b3af0f971d710ae392c539c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog][Third-Party Code] Update bundled libwebp to version 1.3.0
Pick-to: 6.5 6.4 6.2 5.15
Change-Id: Ib7645b7348e950bfa27b902de6da879f8309408d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libtiff will by default attempt to establish a memory map for reading
a tiff file. Implement the callbacks to establish this in Qt's tiff
handler, since this will save data copying, particularly in the case
where the input file is already in memory as a resource or QBuffer.
Also, this makes sure that QTiffHandler utilizes libtiff's default,
and hence best tested, code path for tiff decoding. Specifically, it
avoids a hitting a bug that breaks reading of certain tiffs in the
newly released libtiff version 4.5.0.
Pick-to: 6.5 6.4 6.2 5.15
Change-Id: Id6a746546e069da9910cacd4a4996c669c72cbab
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Conversion must be explicit from float.
qtiffhandler.cpp:963:30: error: converting to ‘qfloat16::NativeType’ {aka ‘_Float16’} from ‘float’ with greater conversion rank [-Werror]
Pick-to: 6.5
Change-Id: Ide4dbd0777a44ed0870efffd17390a0e86f1fd7e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's specified to be one byte but the old code used to read an int of
two bytes. Maybe this wasn't noticed because the following byte often
has a value of zero.
This fixes oss-fuzz issue 50741 which is an integer
overflow resulting from the too large value.
[ChangeLog] Fixed reading of TGA files with a non-zero X-origin
Pick-to: 6.5 6.4 6.2 5.15
Change-Id: I989bffd0e4e03caf6737e1ce085247ed54e40db0
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Work around a shortcoming in libtiff where it spends time discovering
the corruption.
Fixes: QTBUG-107223
Pick-to: 6.4 6.2 5.15
Change-Id: Ib5da260fe971d0f7d808f7215bf388c443318cb4
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we do no random access during decoding, just a readAll() of the
whole image file. So if it is all available already, we can handle a
sequential device. That is useful for Quick AnimationImage, which will
pass a finished QNetworkReply as the input device.
This commit removes some seek() calls in the header checking, that
supposedly should reset the device position. These were in practice
either no-ops or bugs, since the device is only being peeked, so the
position never changes in the first place, and a QImageIOHandler is
supposed to read from the device at the position it is at when passed.
Fixes: QTBUG-70245
Change-Id: I5a4ff5fa4bbd19b0545ad41645969d714b4dc7d5
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-105718
Change-Id: I3598499ab89b0e88718eded846306511000e8db9
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Third-Party Code] Update bundled libwebp to version 1.2.4
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Ibd50e3ee67dbe0f7c385224cd9e07df75ea838b9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.
Existing copyright statements remain intact
Task-number: QTBUG-88621
Change-Id: Ifbf0be4c6f03259f9d084bbef4cf44fa60bf3fde
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-104692
Pick-to: 6.2 6.3 6.4
Change-Id: Ia08f10166cfef5998e13cf3fd07029df63712469
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
using new APIs prevents the runtime deprecated warning.
also note the memory limit is now set to 500MB
Task-number: QTBUG-104398
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I1b307ec33c6a540a5fb9121214d89a73a509a0d3
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to jasper's documentation, the second argument should
be 0 instead of -1, to acquire such a dynamically growing
buffer. This also causes a runtime crash due to the signedness of
size_t.
Fixes: QTBUG-104398
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I173c6b7c9802c22fe0fa01083a71bf3b6ca7b134
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I775d4a0c07b2b82a097d36649203e7f6223fdc51
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
Fixes oss-fuzz issue 47689: "load of value 65, which
is not a valid value for type 'ICNSEntry::Depth'"
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Ia1b119d863e9518e308117ed1dd6a297297bc537
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Q_MOVABLE_TYPE was conceived before C++ had move semantics. Now, with
move semantics, its name is misleading. Q_RELOCATABLE_TYPE was
introduced as a synonym to Q_MOVABLE_TYPE. Usage of Q_MOVABLE_TYPE
is discouraged now. This patch replaces the last usage of Q_MOVABLE_TYPE
by Q_RELOCATABLE_TYPE in qtimageformats. As the two are synonymous, this
patch should have no impact on users.
Task-number: QTBUG-86829
Change-Id: Ia36e46516445c674fbb4512f82e67c2a6bfabb87
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-103454
Pick-to: 6.3 6.2 5.15
Change-Id: I169b0de8465bc5d90aebfd8250db0361819065c5
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The template is instantiated, but only forward declared after recent
cleanup of transitive includes.
Pick-to: 6.3
Change-Id: Id43dfe4dc8aa20815ff6b5f64ab307a269ce6c67
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This adds MNG_DECL (i.e. stdcall) attribute to mng related functions.
Without this, the i686 MinGW gcc shows this error:
invalid conversion from 'void* (*)(mng_size_t)' {aka 'void* (*)(unsigned int)'}
to 'mng_memalloc' {aka 'void* (__attribute__((stdcall)) *)(unsigned int)'} [-fpermissive]
Change-Id: I5aac8480472f803fa347b26e7d2fa6c7796d72e3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Third-Party Code] Update bundled libwebp to version 1.2.1
Pick-to: 6.2 6.1 5.15
Change-Id: I68082fde6d20d32be87444f471520fb1e8091bf9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-95170
Pick-to: 6.2
Change-Id: I375fdfe41dcb17846a97ff5ae2dbfa38493360a2
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Plugins shouldn't have public usage requirements.
Amends dc8debe54474f00d374231ce3d619a8209a2f643
Pick-to: 6.2
Task-number: QTBUG-90819
Change-Id: Ieb10cb885f11ba1e18d0957a93db07bd87dd8aaf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
Pick-to: 6.2
Task-number: QTBUG-90819
Change-Id: I8ec7cf501c13cfc9b107ae38f70cba3536b196e4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog][TIFF] Read/write support for floating point image
formats added.
Change-Id: Ib952ef9bfe7e38426f018515a5f92ed56c732a6f
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Third-Party Code] Bundled libtiff was updated to version 4.3.0
Pick-to: 6.1 5.15 5.12
Change-Id: I4be8884394db6de7a2aedd4c41abc49a1e565917
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
Zlib is renamed in Qt to ZlibPrivate according to the internal module
naming policy.
Change-Id: I7b10cefb49dbf4320c91016a05011978ceee01d2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.1
Change-Id: I9b43b627c834a4eead2f02ee273ccadd92d69fa0
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
| |
The 3rdparty NEON libwebp sources need to built for the macOS and iOS
arm64 slices when doing a universal build.
Task-number: QTBUG-85447
Change-Id: Id55e58027adbea9e3d83e1a4b7309ff36cf01453
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the imageIO's common QImage creation function that implements
QImageReader's allocation limit that was introduced in Qt 6.
A few related checks against corrupt image files added as driveby.
Pick-to: 6.1 6.0
Change-Id: If5b87cd1b7b2de67ecd023a82ae2168a032fa52e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Check that the actual scanlines to be read by libtiff are not
wider than expected.
This issue was reported by Samuel Groß and Natalie Silvanovich of
Google Project Zero.
Pick-to: 6.1 6.0 5.15 5.12
Change-Id: I2af818d5a3c57643747a7fbfac8bb934cd79efd7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add check against corrupt tiffs where libtiff can report conflicting
values of tile width, length and byte size.
This issue was reported by Samuel Groß and Natalie Silvanovich of
Google Project Zero.
Pick-to: 6.1 6.0 5.15 5.12
Change-Id: Icb9c20317746190c446c93b474f5c490a805551c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add cmake/FindLibmng.cmake based on qtbase/cmake/FindLibb2.cmake .
Enable mng if found and link to the imported target provided by
FindLibmng.cmake so that mng can be used.
Libmng 1 did not come with a pkgconfig file and it is still
in use so FindLibmng will use the normal cmake procedures if
pkgconfig fails to find libmng.
Pick-to: 6.1
Change-Id: Iecf4ede700b1bfdab84c98c7333547f0bcecc6b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This includes removal of the corresponding .prev_CMakeLists.txt files.
Pick-to: 6.1
Task-number: QTBUG-88742
Change-Id: I43bd344cd515aa2f671d012c64f281e8fc4793c9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: I8dc7a639a8cbabafb309ae298f1a5f9250bf055e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
| |
Pick-to: 6.0
Change-Id: Ifc9d3ee1d856c750556962b0fac8d054fcfee970
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since 2878f06e5bd75029f699ce1564144c3a83a8b00e warnings are printed to
stdout when a tga file could not be loaded. But canRead(QIODevice*) is
called when the image format is not yet known which leads to unexpected
warnings. Therefore remove the warning there again.
Change-Id: I0ea8cb13b3fb655ed4eeea008a67e26a04e72892
Pick-to: 5.15
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
When an image could not be loaded, the error message from QTgaFile was
lost so the user could not find out why the load failed. Therefore print
it out with qWarning().
Change-Id: I7ef7d8488ddd6c0c2be1d14caeb9ead528eb755f
Pick-to: 5.15
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
|
|
|
|
|
|
|
|
| |
Modify special case locations to use the new API as well.
Task-number: QTBUG-86815
Change-Id: I045015a4f3b78f15570ea401d2b99ea1b75ec414
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-86815
Change-Id: Ie06af33cee62d1742fabc4b992e6bc5a68fcc6a1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|