Skip to content

Commit 4bc86c3

Browse files
author
Eirik Aavitsland
committed
Update bundled libpng to version 1.6.17
Merged in the upstream version, which obsoleted many of the local patches. The remaining diff to clean 1.6.17 is archived in the qtpatches.diff file. Change-Id: Ibe6f69d9002adb1ad1c4037670a3a4358ad1a18e Reviewed-by: Lars Knoll <[email protected]>
1 parent a16695f commit 4bc86c3

30 files changed

+17807
-8965
lines changed

src/3rdparty/libpng.pri

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
DEFINES *= QT_USE_BUNDLED_LIBPNG
2-
!isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE
2+
DEFINES += PNG_ARM_NEON_OPT=0
33
INCLUDEPATH += $$PWD/libpng
44
SOURCES += $$PWD/libpng/png.c \
55
$$PWD/libpng/pngerror.c \

src/3rdparty/libpng/ANNOUNCE

Lines changed: 47 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
Libpng 1.5.10 - March 29, 2012
1+
Libpng 1.6.17 - March 26, 2015
32

43
This is a public release of libpng, intended for use in production codes.
54

@@ -8,52 +7,61 @@ Files available for download:
87
Source files with LF line endings (for Unix/Linux) and with a
98
"configure" script
109

11-
libpng-1.5.10.tar.xz (LZMA-compressed, recommended)
12-
libpng-1.5.10.tar.gz
13-
libpng-1.5.10.tar.bz2
10+
libpng-1.6.17.tar.xz (LZMA-compressed, recommended)
11+
libpng-1.6.17.tar.gz
1412

1513
Source files with CRLF line endings (for Windows), without the
1614
"configure" script
1715

18-
lpng1510.7z (LZMA-compressed, recommended)
19-
lpng1510.zip
16+
lpng1617.7z (LZMA-compressed, recommended)
17+
lpng1617.zip
2018

2119
Other information:
2220

23-
libpng-1.5.10-README.txt
24-
libpng-1.5.10-LICENSE.txt
21+
libpng-1.6.17-README.txt
22+
libpng-1.6.17-LICENSE.txt
23+
libpng-1.6.17-*.asc (armored detached GPG signatures)
2524

26-
Changes since the last public release (1.5.9):
25+
Changes since the last public release (1.6.16):
2726

28-
Removed two useless #ifdef directives from pngread.c and one from pngrutil.c
29-
Always put the CMAKE_LIBRARY in "lib" (removed special WIN32 case).
30-
Removed empty vstudio/pngstest directory (Clifford Yapp).
31-
Eliminated redundant png_push_read_tEXt|zTXt|iTXt|unknown code from
32-
pngpread.c and use the sequential png_handle_tEXt, etc., in pngrutil.c;
33-
now that png_ptr->buffer is inaccessible to applications, the special
34-
handling is no longer useful.
35-
Fixed bug with png_handle_hIST with odd chunk length (Frank Busse).
36-
Added PNG_SAFE_LIMITS feature to pnglibconf.dfa and code in pngconf.h
37-
to reset the user limits to safe ones if PNG_SAFE_LIMITS is defined.
38-
To enable, use "CPPFLAGS=-DPNG_SAFE_LIMITS_SUPPORTED" on the configure
39-
command or put "#define PNG_SAFE_LIMITS_SUPPORTED" in pnglibconf.h.
40-
Revised the SAFE_LIMITS feature to be the same as the feature in libpng16.
41-
Added information about the new limits in the manual.
42-
Updated Makefile.in
43-
Removed unused "current_text" members of png_struct and the png_free()
44-
of png_ptr->current_text from pngread.c
45-
Fixed PNG_LIBPNG_BUILD_BASE_TYPE definition.
46-
Fixed CMF optimization of non-IDAT compressed chunks, which was added at
47-
libpng-1.5.4. It sometimes produced too small of a window.
48-
Reject all iCCP chunks after the first, even if the first one is invalid.
49-
Added palette-index checking. Issue a png_benign_error() if an invalid
50-
index is found.
51-
Revised example.c to put text strings in a temporary character array
52-
instead of directly assigning string constants to png_textp members.
53-
This avoids compiler warnings when -Wwrite-strings is enabled.
54-
Prevent PNG_EXPAND+PNG_SHIFT doing the shift twice.
55-
Revised png_set_text_2() to avoid potential memory corruption (fixes
56-
CVE-2011-3048).
27+
Removed duplicate PNG_SAFE_LIMITS_SUPPORTED handling from pngconf.h
28+
Corrected the width limit calculation in png_check_IHDR().
29+
Removed user limits from pngfix. Also pass NULL pointers to
30+
png_read_row to skip the unnecessary row de-interlace stuff.
31+
Added testing of png_set_packing() to pngvalid.c
32+
Regenerated configure scripts in the *.tar distributions with libtool-2.4.4
33+
Implement previously untested cases of libpng transforms in pngvalid.c
34+
Fixed byte order in 2-byte filler, in png_do_read_filler().
35+
Made the check for out-of-range values in png_set_tRNS() detect
36+
values that are exactly 2^bit_depth, and work on 16-bit platforms.
37+
Merged some parts of libpng-1.6.17beta01 and libpng-1.7.0beta47.
38+
Added #ifndef __COVERITY__ where needed in png.c, pngrutil.c and
39+
pngset.c to avoid warnings about dead code.
40+
Do not build png_product2() when it is unused.
41+
Display user limits in the output from pngtest.
42+
Eliminated the PNG_SAFE_LIMITS macro and restored the 1-million-column
43+
and 1-million-row default limits in pnglibconf.dfa, that can be reset
44+
by the user at build time or run time. This provides a more robust
45+
defense against DOS and as-yet undiscovered overflows.
46+
Added PNG_WRITE_CUSTOMIZE_COMPRESSION_SUPPORTED macro, on by default.
47+
Allow user to call png_get_IHDR() with NULL arguments (Reuben Hawkins).
48+
Rebuilt configure scripts with automake-1.15 and libtool-2.4.6
49+
Moved png_set_filter() prototype into a PNG_WRITE_SUPPORTED block
50+
of png.h.
51+
Avoid runtime checks when converting integer to png_byte with
52+
Visual Studio (Sergey Kosarevsky)
53+
Removed some comments that the configure script did not handle
54+
properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt.
55+
Free the unknown_chunks structure even when it contains no data.
56+
Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF
57+
for consistency, and remove some useless tests (Alexey Petruchik).
58+
Remove pnglibconf.h, pnglibconf.c, pnglibconf.pre, pnglibconf.dfn,
59+
and pnglibconf.out instead of pnglibconf.* in "make clean" (Cosmin).
60+
Fixed simplified 8-bit-linear to sRGB alpha. The calculated alpha
61+
value was wrong. It's not clear if this affected the final stored
62+
value; in the obvious code path the upper and lower 8-bits of the
63+
alpha value were identical and the alpha was truncated to 8-bits
64+
rather than dividing by 257 (John Bowler).
5765

5866
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
5967
(subscription required; visit

0 commit comments

Comments
 (0)