mirror of
https://git.code.sf.net/p/libpng/code.git
synced 2025-07-10 18:04:09 +02:00
[libpng17] Also don't mark text chunks as written in the end_ptr until written.
This commit is contained in:
parent
7974d60f54
commit
70cd1a10f2
16
pngwrite.c
16
pngwrite.c
@ -394,11 +394,14 @@ png_write_end(png_structrp png_ptr, png_inforp info_ptr)
|
|||||||
info_ptr->text[i].lang,
|
info_ptr->text[i].lang,
|
||||||
info_ptr->text[i].lang_key,
|
info_ptr->text[i].lang_key,
|
||||||
info_ptr->text[i].text);
|
info_ptr->text[i].text);
|
||||||
|
/* Mark this chunk as written */
|
||||||
|
if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
|
||||||
|
info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
|
||||||
|
else
|
||||||
|
info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_zTXt_WR;
|
||||||
#else
|
#else
|
||||||
png_warning(png_ptr, "Unable to write international text");
|
png_warning(png_ptr, "Unable to write international text");
|
||||||
#endif
|
#endif
|
||||||
/* Mark this chunk as written */
|
|
||||||
info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (info_ptr->text[i].compression >= PNG_TEXT_COMPRESSION_zTXt)
|
else if (info_ptr->text[i].compression >= PNG_TEXT_COMPRESSION_zTXt)
|
||||||
@ -407,11 +410,11 @@ png_write_end(png_structrp png_ptr, png_inforp info_ptr)
|
|||||||
/* Write compressed chunk */
|
/* Write compressed chunk */
|
||||||
png_write_zTXt(png_ptr, info_ptr->text[i].key,
|
png_write_zTXt(png_ptr, info_ptr->text[i].key,
|
||||||
info_ptr->text[i].text, info_ptr->text[i].compression);
|
info_ptr->text[i].text, info_ptr->text[i].compression);
|
||||||
|
/* Mark this chunk as written */
|
||||||
|
info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_zTXt_WR;
|
||||||
#else
|
#else
|
||||||
png_warning(png_ptr, "Unable to write compressed text");
|
png_warning(png_ptr, "Unable to write compressed text");
|
||||||
#endif
|
#endif
|
||||||
/* Mark this chunk as written */
|
|
||||||
info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_zTXt_WR;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
|
else if (info_ptr->text[i].compression == PNG_TEXT_COMPRESSION_NONE)
|
||||||
@ -420,12 +423,11 @@ png_write_end(png_structrp png_ptr, png_inforp info_ptr)
|
|||||||
/* Write uncompressed chunk */
|
/* Write uncompressed chunk */
|
||||||
png_write_tEXt(png_ptr, info_ptr->text[i].key,
|
png_write_tEXt(png_ptr, info_ptr->text[i].key,
|
||||||
info_ptr->text[i].text, 0);
|
info_ptr->text[i].text, 0);
|
||||||
|
/* Mark this chunk as written */
|
||||||
|
info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
|
||||||
#else
|
#else
|
||||||
png_warning(png_ptr, "Unable to write uncompressed text");
|
png_warning(png_ptr, "Unable to write uncompressed text");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Mark this chunk as written */
|
|
||||||
info_ptr->text[i].compression = PNG_TEXT_COMPRESSION_NONE_WR;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user