73e28ef13d
where it is not appropriate. If mainprog->jmpbuf is used by setjmp, then png_longjmp cannot be used. Reversed patch to remove error handler when the jmp_buf is stored in the main program structure, not the png_struct. The error handler is needed because the default handler in libpng will always use the jmp_buf in the library control structure; this is never set. The gregbook code is a useful example because, even though it uses setjmp/longjmp, it shows how error handling can be implemented using control mechanisms not directly supported by libpng. The technique will work correctly with mechanisms such as Microsoft Structure Exceptions or C++ exceptions (compiler willing - note that gcc does not by default support interworking of C and C++ error handling.)
285 lines
13 KiB
Plaintext
285 lines
13 KiB
Plaintext
|
|
Libpng 1.5.0beta33 - June 29, 2010
|
|
|
|
This is not intended to be a public release. It will be replaced
|
|
within a few weeks by a public version or by another test version.
|
|
|
|
Files available for download:
|
|
|
|
Source files with LF line endings (for Unix/Linux) and with a
|
|
"configure" script
|
|
|
|
1.5.0beta33.tar.xz (LZMA-compressed, recommended)
|
|
1.5.0beta33.tar.gz
|
|
1.5.0beta33.tar.bz2
|
|
|
|
Source files with CRLF line endings (for Windows), without the
|
|
"configure" script
|
|
|
|
lp150b33.zip
|
|
lp150b33.7z
|
|
|
|
Other information:
|
|
|
|
1.5.0beta33-README.txt
|
|
1.5.0beta33-LICENSE.txt
|
|
|
|
Changes since the last public release (1.4.1):
|
|
|
|
version 1.5.0beta01 [February 7, 2010]
|
|
Moved declaration of png_struct into private pngstruct.h and png_info
|
|
into pnginfo.h
|
|
|
|
version 1.5.0beta02 [February 7, 2010]
|
|
Reverted to original png_push_save_buffer() code.
|
|
|
|
version 1.5.0beta03 [February 8, 2010]
|
|
Return allocated "old_buffer" in png_push_save_buffer() before
|
|
calling png_error().
|
|
Updated configure script to use SO number 15.
|
|
|
|
version 1.5.0beta04 [February 9, 2010]
|
|
Removed malformed "incomplete struct declaration" of png_info from png.h
|
|
|
|
version 1.5.0beta05 [February 12, 2010]
|
|
Removed PNG_DEPSTRUCT markup in pngstruct.h and pnginfo.h, and undid the
|
|
linewrapping that it entailed.
|
|
Revised comments in pngstruct.h and pnginfo.h and added pointers to
|
|
the libpng license.
|
|
Changed PNG_INTERNAL to PNG_EXPOSE_INTERNAL_STRUCTURES
|
|
Removed the cbuilder5 project, which has not been updated to 1.4.0.
|
|
|
|
version 1.4.1beta12 and 1.5.0beta06 [February 14, 2010]
|
|
Fixed type declaration of png_get_chunk_malloc_max() in pngget.c (Daisuke
|
|
Nishikawa)
|
|
|
|
version 1.5.0beta07 [omitted]
|
|
|
|
version 1.5.0beta08 [February 19, 2010]
|
|
Changed #ifdef PNG_NO_STDIO_SUPPORTED to #ifdef PNG_NO_CONSOLE_IO_SUPPORTED
|
|
wherever png_snprintf() is used to construct error and warning messages.
|
|
Noted in scripts/makefile.mingw that it expects to be run under MSYS.
|
|
Removed obsolete unused MMX-querying support from contrib/gregbook
|
|
Added exported png_longjmp() function.
|
|
Removed the AIX redefinition of jmpbuf in png.h
|
|
Added -D_ALLSOURCE in configure.ac, makefile.aix, and CMakeLists.txt
|
|
when building on AIX.
|
|
|
|
version 1.5.0beta09 [February 19, 2010]
|
|
Removed -D_ALLSOURCE from configure.ac, makefile.aix, and CMakeLists.txt.
|
|
Changed the name of png_ptr->jmpbuf to png_ptr->png_jmpbuf in pngstruct.h
|
|
|
|
version 1.5.0beta10 [February 25, 2010]
|
|
Removed unused gzio.c from contrib/pngminim gather and makefile scripts
|
|
Removed replacement error handlers from contrib/gregbook. Because of
|
|
the new png_longjmp() function they are no longer needed.
|
|
|
|
version 1.5.0beta11 [March 6, 2010]
|
|
Removed checking for already-included setjmp.h from pngconf.h
|
|
Fixed inconsistent indentations and made numerous cosmetic changes.
|
|
Revised the "SEE ALSO" style of libpng.3, libpngpf.3, and png.5
|
|
|
|
version 1.5.0beta12 [March 9, 2010]
|
|
Moved "#include png.h" inside pngpriv.h and removed "#include png.h" from
|
|
the source files, along with "#define PNG_EXPOSE_INTERNAL_STRUCTURES"
|
|
and "#define PNG_NO_PEDANTIC_WARNINGS" (John Bowler).
|
|
Created new pngdebug.h and moved debug definitions there.
|
|
|
|
version 1.5.0beta13 [March 10, 2010]
|
|
Protect pngstruct.h, pnginfo.h, and pngdebug.h from being included twice.
|
|
Revise the "#ifdef" blocks in png_inflate() so it will compile when neither
|
|
PNG_USER_CHUNK_MALLOC_MAX nor PNG_SET_CHUNK_MALLOC_LIMIT_SUPPORTED
|
|
is defined.
|
|
Removed unused png_measure_compressed_chunk() from pngpriv.h and libpngpf.3
|
|
Moved the 'config.h' support from pngconf.h to pngpriv.h
|
|
Removed PNGAPI from the png_longjmp_ptr typedef.
|
|
Eliminated dependence of pngtest.c on the private pngdebug.h file.
|
|
Make all png_debug macros into *unterminated* statements or
|
|
expressions (i.e. a trailing ';' must always be added) and correct
|
|
the format statements in various png_debug messages.
|
|
|
|
version 1.5.0beta14 [March 14, 2010]
|
|
Removed direct access to png_ptr->io_ptr from the Windows code in pngtest.c
|
|
Revised Makefile.am to account for recent additions and replacements.
|
|
Corrected CE and OS/2 DEF files (scripts/png*def) for symbols removed and
|
|
added ordinal numbers to the Windows DEF file and corrected the duplicated
|
|
ordinal numbers on CE symbols that are commented out.
|
|
Added back in export symbols that can be present in the Windows build but
|
|
are disabled by default.
|
|
PNG_EXPORT changed to include an 'ordinal' field for DEF file generation.
|
|
PNG_CALLBACK added to make callback definitions uniform. PNGAPI split
|
|
into PNGCAPI (base C form), PNGAPI (exports) and PNGCBAPI (callbacks),
|
|
and appropriate changes made to all files. Cygwin builds re-hinged to
|
|
allow procedure call standard changes and to remove the need for the DEF
|
|
file (fixes build on Cygwin).
|
|
Enabled 'attribute' warnings that are relevant to library APIs and callbacks.
|
|
Changed rules for generation of the various symbol files and added a new
|
|
rule for a DEF file (which is also added to the distribution).
|
|
Updated the symbol file generation to stop it adding spurious spaces
|
|
to EOL (coming from preprocessor macro expansion). Added a facility
|
|
to join tokens in the output and rewrite *.dfn to use this.
|
|
Eliminated scripts/*.def in favor of libpng.def; updated projects/visualc71
|
|
and removed scripts/makefile.cygwin.
|
|
Made PNG_BUILD_DLL safe: it can be set whenever a DLL is being built.
|
|
Removed the include of sys/types.h - apparently unnecessary now on the
|
|
platforms on which it happened (all but Mac OS and RISC OS).
|
|
Moved the Mac OS test into pngpriv.h (the only place it is used.)
|
|
|
|
version 1.5.0beta15 [March 17, 2010]
|
|
Added symbols.chk target to Makefile.am to validate the symbols in png.h
|
|
against the new DEF file scripts/symbols.def.
|
|
Changed the default DEF file back to pngwin.def.
|
|
Removed makefile.mingw.
|
|
Eliminated PNG_NO_EXTERN and PNG_ALL_EXTERN
|
|
|
|
version 1.5.0beta16 [April 1, 2010]
|
|
Made png_text_struct independent of PNG_iTXt_SUPPORTED, so that
|
|
fields are initialized in all configurations. The READ/WRITE
|
|
macros (PNG_(READ|WRITE)_iTXt_SUPPORTED) still function as
|
|
before to disable code to actually read or write iTXt chunks
|
|
and iTXt_SUPPORTED can be used to detect presence of either
|
|
read or write support (but it is probably better to check for
|
|
the one actually required - read or write.)
|
|
Combined multiple png_warning() calls for a single error.
|
|
Restored the macro definition of png_check_sig().
|
|
|
|
version 1.5.0beta17 [April 17, 2010]
|
|
Documented the fact that png_set_dither() was disabled since libpng-1.4.0.
|
|
Reenabled png_set_dither() but renamed it to png_set_quantize() to reflect
|
|
more accurately what it actually does. At the same time, renamed
|
|
the PNG_DITHER_[RED,GREEN_BLUE]_BITS macros to
|
|
PNG_QUANTIZE_[RED,GREEN,BLUE]_BITS.
|
|
Added some "(long)" typecasts to printf calls in png_handle_cHRM().
|
|
Freeze build-time only configuration in the build.
|
|
In all prior versions of libpng most configuration options
|
|
controlled by compiler #defines had to be repeated by the
|
|
application code that used libpng. This patch changes this
|
|
so that compilation options that can only be changed at build
|
|
time are frozen in the build. Options that are compiler
|
|
dependent (and those that are system dependent) are evaluated
|
|
each time - pngconf.h holds these. Options that can be changed
|
|
per-file in the application are in png.h. Frozen options are
|
|
in the new installed header file pnglibconf.h (John Bowler)
|
|
Removed the xcode project because it has not been updated to work
|
|
with libpng-1.5.0.
|
|
|
|
version 1.5.0beta18 [April 17, 2010]
|
|
Restored the ability to include optional pngusr.h
|
|
Moved replacements for png_error() and png_warning() from the
|
|
contrib/pngminim project to pngerror.c, for use when warnings or
|
|
errors are disabled via PNG_NO_WARN or PNG_NO_ERROR_TEXT, to avoid
|
|
storing unneeded error/warning text.
|
|
Updated contrib/pngminim project to work with the new pnglibconf.h
|
|
Added some PNG_NO_* defines to contrib/pngminim/*/pngusr.h to save space.
|
|
|
|
version 1.5.0beta19 [April 24, 2010]
|
|
Added PNG_{READ,WRITE}_INT_FUNCTIONS_SUPPORTED. This allows the functions
|
|
to read and write ints to be disabled independently of PNG_USE_READ_MACROS,
|
|
which allows libpng to be built with the functions even though the default
|
|
is to use the macros - this allows applications to choose at app build
|
|
time whether or not to use macros (previously impossible because the
|
|
functions weren't in the default build.)
|
|
Changed Windows calling convention back to __cdecl for API functions.
|
|
For Windows/x86 platforms only:
|
|
__stdcall is no longer needed for Visual Basic, so libpng-1.5.0 uses
|
|
__cdecl throughout (both API functions and callbacks) on Windows/x86
|
|
platforms.
|
|
Replaced visualc6 and visualc71 projects with new vstudio project
|
|
Relaxed the overly-restrictive permissions of some files.
|
|
|
|
version 1.5.0beta20 [April 24, 2010]
|
|
Relaxed more overly-restrictive permissions of some files.
|
|
|
|
version 1.5.0beta21 [April 27, 2010]
|
|
Removed some unwanted binary bytes and changed CRLF to NEWLINE in the new
|
|
vstudio project files, and some trivial editing of some files in the
|
|
scripts directory.
|
|
Set PNG_NO_READ_BGR, PNG_NO_IO_STATE, and PNG_NO_TIME_RFC1123 in
|
|
contrib/pngminim/decoder/pngusr.h to make a smaller decoder application.
|
|
|
|
version 1.5.0beta22 [April 28, 2010]
|
|
Fixed dependencies of GET_INT_32 - it does not require READ_INT_FUNCTIONS
|
|
because it has a macro equivalent.
|
|
Improved the options.awk script; added an "everything off" option.
|
|
Revised contrib/pngminim to use the "everything off" option in pngusr.dfa.
|
|
|
|
version 1.5.0beta23 [April 29, 2010]
|
|
Corrected PNG_REMOVED macro to take five arguments.
|
|
The macro was documented with two arguments (name,ordinal), however
|
|
the symbol checking .dfn files assumed five arguments. The five
|
|
argument form seems more useful so it is changed to that.
|
|
Corrected PNG_UNKNOWN_CHUNKS_SUPPORTED to PNG_HANDLE_AS_UNKNOWN_SUPPORTED
|
|
in gregbook/readpng2.c
|
|
Corrected protection of png_get_user_transform_ptr. The API declaration in
|
|
png.h is removed if both READ and WRITE USER_TRANSFORM are turned off
|
|
but was left defined in pngtrans.c
|
|
Added logunsupported=1 to cause pnglibconf.h to document disabled options.
|
|
This makes the installed pnglibconf.h more readable but causes no
|
|
other change. The intention is that users of libpng will find it
|
|
easier to understand if an API they need is missing.
|
|
Include png_reset_zstream() in png.c only when PNG_READ_SUPPORTED is defined.
|
|
Removed dummy_inflate.c from contrib/pngminim/encoder
|
|
Removed contrib/pngminim/*/gather.sh; gathering is now done in the makefile.
|
|
|
|
version 1.5.0beta24 [May 7, 2010]
|
|
Use bitwise "&" instead of arithmetic mod in pngrutil.c calculation of the
|
|
offset of the png_ptr->rowbuf pointer into png_ptr->big_row_buf.
|
|
Added more blank lines for readability.
|
|
|
|
version 1.5.0beta25 [June 29, 2010]
|
|
In pngpread.c: png_push_have_row() add check for new_row > height
|
|
Removed the now-redundant check for out-of-bounds new_row from example.c
|
|
|
|
version 1.5.0beta26 [June 18, 2010]
|
|
In pngpread.c: png_push_process_row() add check for too many rows.
|
|
|
|
version 1.5.0beta27 [June 18, 2010]
|
|
Removed the check added in beta25 as it is now redundant.
|
|
|
|
version 1.5.0beta28 [June 19, 2010]
|
|
Rewrote png_process_IDAT_data to consistently treat extra data as warnings
|
|
and handle end conditions more cleanly.
|
|
Removed the new (beta26) check in png_push_process_row().
|
|
|
|
version 1.5.0beta29 [June 21, 2010]
|
|
Revised scripts/options.awk to work on Sunos (but still doesn't work)
|
|
Added comment to options.awk and contrib/pngminim/*/makefile to try nawk.
|
|
|
|
version 1.5.0beta30 [June 22, 2010]
|
|
Stop memory leak when reading a malformed sCAL chunk.
|
|
|
|
version 1.5.0beta31 [June 26, 2010]
|
|
Revised pngpread.c patch of beta28 to avoid an endless loop.
|
|
Removed some trailing blanks.
|
|
|
|
version 1.5.0beta32 [June 29, 2010]
|
|
Removed leftover scripts/options.patch and scripts/options.rej
|
|
|
|
version 1.5.0beta32 [June 29, 2010]
|
|
Made FIXED and FLOATING options consistent in the APIs they enable and
|
|
disable. Corrected scripts/options.awk to handle both command line
|
|
options and options specified in the .dfa files.
|
|
Changed char *msg to PNG_CONST char *msg in pngrutil.c
|
|
Make png_set_sRGB_gAMA_and_cHRM set values using either the fixed or
|
|
floating point APIs, but not both.
|
|
Reversed patch to remove error handler when the jmp_buf is stored in the
|
|
main program structure, not the png_struct.
|
|
The error handler is needed because the default handler in libpng will
|
|
always use the jmp_buf in the library control structure; this is never
|
|
set. The gregbook code is a useful example because, even though it
|
|
uses setjmp/longjmp, it shows how error handling can be implemented
|
|
using control mechanisms not directly supported by libpng. The
|
|
technique will work correctly with mechanisms such as Microsoft
|
|
Structure Exceptions or C++ exceptions (compiler willing - note that gcc
|
|
does not by default support interworking of C and C++ error handling.)
|
|
Reverted changes to call png_longjmp in contrib/gregbook where it is not
|
|
appropriate. If mainprog->jmpbuf is used by setjmp, then png_longjmp
|
|
cannot be used.
|
|
|
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net:
|
|
(subscription required; visit
|
|
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
|
|
to subscribe) or to glennrp at users.sourceforge.net
|
|
|
|
Glenn R-P
|