[master] Revised iTXt support and documentation
This commit is contained in:
parent
dc38e24fed
commit
3de7bde0e1
4
ANNOUNCE
4
ANNOUNCE
@ -100,6 +100,10 @@ version 1.2.41beta10 [November 1, 2009]
|
|||||||
been building previous versions with PNG_iTXt_SUPPORTED as well.
|
been building previous versions with PNG_iTXt_SUPPORTED as well.
|
||||||
|
|
||||||
version 1.2.41beta11 [November 1, 2009]
|
version 1.2.41beta11 [November 1, 2009]
|
||||||
|
Revised iTXt support. To ensure binary compatibility with
|
||||||
|
previous versions, the "lang" and "lang_key" members will be assumed
|
||||||
|
to be omitted from previous versions whenever there is a library
|
||||||
|
mismatch.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
|
|
||||||
|
4
CHANGES
4
CHANGES
@ -2530,6 +2530,10 @@ version 1.2.41beta10 [November 1, 2009]
|
|||||||
been building previous versions with PNG_iTXt_SUPPORTED as well.
|
been building previous versions with PNG_iTXt_SUPPORTED as well.
|
||||||
|
|
||||||
version 1.2.41beta11 [November 1, 2009]
|
version 1.2.41beta11 [November 1, 2009]
|
||||||
|
Revised iTXt support. To ensure binary compatibility with
|
||||||
|
previous versions, the "lang" and "lang_key" members will be assumed
|
||||||
|
to be omitted from previous versions whenever there is a library
|
||||||
|
mismatch.
|
||||||
|
|
||||||
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
Send comments/corrections/commendations to png-mng-implement at lists.sf.net
|
||||||
(subscription required; visit
|
(subscription required; visit
|
||||||
|
@ -2951,11 +2951,7 @@ png_create_write_struct_2(), png_set_mem_fn(), png_get_mem_ptr(),
|
|||||||
png_malloc_default(), and png_free_default() were added.
|
png_malloc_default(), and png_free_default() were added.
|
||||||
|
|
||||||
Support for the iTXt chunk has been enabled by default as of
|
Support for the iTXt chunk has been enabled by default as of
|
||||||
version 1.2.41. If you have been defining PNG_iTXt_SUPPORTED
|
version 1.2.41.
|
||||||
already, please continue to do so, as a signal to libpng that your
|
|
||||||
previous versions also supported iTXt. If you have not been defining
|
|
||||||
PNG_iTXt_SUPPORTED, please don't start now; it will be enabled for
|
|
||||||
you by default.
|
|
||||||
|
|
||||||
Support for certain MNG features was enabled.
|
Support for certain MNG features was enabled.
|
||||||
|
|
||||||
|
6
libpng.3
6
libpng.3
@ -3772,11 +3772,7 @@ png_create_write_struct_2(), png_set_mem_fn(), png_get_mem_ptr(),
|
|||||||
png_malloc_default(), and png_free_default() were added.
|
png_malloc_default(), and png_free_default() were added.
|
||||||
|
|
||||||
Support for the iTXt chunk has been enabled by default as of
|
Support for the iTXt chunk has been enabled by default as of
|
||||||
version 1.2.41. If you have been defining PNG_iTXt_SUPPORTED
|
version 1.2.41.
|
||||||
already, please continue to do so, as a signal to libpng that your
|
|
||||||
previous versions also supported iTXt. If you have not been defining
|
|
||||||
PNG_iTXt_SUPPORTED, please don't start now; it will be enabled for
|
|
||||||
you by default.
|
|
||||||
|
|
||||||
Support for certain MNG features was enabled.
|
Support for certain MNG features was enabled.
|
||||||
|
|
||||||
|
14
pngset.c
14
pngset.c
@ -662,18 +662,20 @@ png_set_text_2(png_structp png_ptr, png_infop info_ptr, png_textp text_ptr,
|
|||||||
if (png_ptr == NULL || info_ptr == NULL || num_text == 0)
|
if (png_ptr == NULL || info_ptr == NULL || num_text == 0)
|
||||||
return(0);
|
return(0);
|
||||||
|
|
||||||
#ifdef PNG_iTXt_NOT_PREVIOUSLY_SUPPORTED
|
|
||||||
/* If an earlier version of the library was used to build the
|
/* If an earlier version of the library was used to build the
|
||||||
* application, it might be using a png_textp structure that
|
* application, it might be using a png_textp structure that
|
||||||
* does not contain the lang or lang_key elements. If you build
|
* does not contain the lang or lang_key elements. Even if you build
|
||||||
* this library with PNG_iTXt_SUPPORTED explicitly defined,
|
* this library with PNG_iTXt_SUPPORTED explicitly defined,
|
||||||
* then we assume that your older library was also built with
|
* and your older library was also built with PNG_iTXt_SUPPORTED
|
||||||
* PNG_iTXt_SUPPORTED defined and the complete png_textp structure
|
* defined, the complete png_textp structure probably has not existed
|
||||||
* has existed all along and it's safe to access them. See pngconf.h.
|
* all along and it's not safe to access them, due to a bug in
|
||||||
|
* pngconf.h from version 1.2.9 to 1.2.40.
|
||||||
|
*
|
||||||
|
* To do: accept mismatched libraries when both are version 1.2.41
|
||||||
|
* or later.
|
||||||
*/
|
*/
|
||||||
if (png_ptr->flags & PNG_FLAG_LIBRARY_MISMATCH)
|
if (png_ptr->flags & PNG_FLAG_LIBRARY_MISMATCH)
|
||||||
caller_no_itxt = 1;
|
caller_no_itxt = 1;
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Make sure we have enough space in the "text" array in info_struct
|
/* Make sure we have enough space in the "text" array in info_struct
|
||||||
* to hold all of the incoming text_ptr objects.
|
* to hold all of the incoming text_ptr objects.
|
||||||
|
Reference in New Issue
Block a user