···
1
+
--- k3d-source-0.8.0.1/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp 2010-04-18 13:49:33.000000000 +0800
2
+
+++ k3d-source-0.8.0.1-patched/k3dsdk/gil/boost/gil/extension/io/png_io_private.hpp 2010-06-10 21:17:51.555920268 +0800
3
+
@@ -148,12 +148,12 @@
4
+
// allocate/initialize the image information data
5
+
_info_ptr = png_create_info_struct(_png_ptr);
6
+
if (_info_ptr == NULL) {
7
+
- png_destroy_read_struct(&_png_ptr,png_infopp_NULL,png_infopp_NULL);
8
+
+ png_destroy_read_struct(&_png_ptr,NULL,NULL);
9
+
io_error("png_get_file_size: fail to call png_create_info_struct()");
11
+
if (setjmp(png_jmpbuf(_png_ptr))) {
12
+
//free all of the memory associated with the png_ptr and info_ptr
13
+
- png_destroy_read_struct(&_png_ptr, &_info_ptr, png_infopp_NULL);
14
+
+ png_destroy_read_struct(&_png_ptr, &_info_ptr, NULL);
15
+
io_error("png_get_file_size: fail to call setjmp()");
17
+
png_init_io(_png_ptr, get());
19
+
png_reader(const char* filename) : file_mgr(filename, "rb") { init(); }
22
+
- png_destroy_read_struct(&_png_ptr,&_info_ptr,png_infopp_NULL);
23
+
+ png_destroy_read_struct(&_png_ptr,&_info_ptr,NULL);
25
+
point2<std::ptrdiff_t> get_dimensions() {
26
+
return point2<std::ptrdiff_t>(png_get_image_width(_png_ptr,_info_ptr),
28
+
int bit_depth, color_type, interlace_type;
29
+
png_get_IHDR(_png_ptr, _info_ptr,
30
+
&width, &height,&bit_depth,&color_type,&interlace_type,
31
+
- int_p_NULL, int_p_NULL);
32
+
+ (int *) NULL, (int *) NULL);
33
+
io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height),
34
+
"png_read_view: input view size does not match PNG file size");
37
+
int bit_depth, color_type, interlace_type;
38
+
png_get_IHDR(_png_ptr, _info_ptr,
39
+
&width, &height,&bit_depth,&color_type,&interlace_type,
40
+
- int_p_NULL, int_p_NULL);
41
+
+ (int *) NULL, (int *) NULL);
42
+
io_error_if(((png_uint_32)view.width()!=width || (png_uint_32)view.height()!= height),
43
+
"png_reader_color_convert::apply(): input view size does not match PNG file size");
44
+
switch (color_type) {
46
+
io_error_if(!_png_ptr,"png_write_initialize: fail to call png_create_write_struct()");
47
+
_info_ptr = png_create_info_struct(_png_ptr);
49
+
- png_destroy_write_struct(&_png_ptr,png_infopp_NULL);
50
+
+ png_destroy_write_struct(&_png_ptr,NULL);
51
+
io_error("png_write_initialize: fail to call png_create_info_struct()");
53
+
if (setjmp(png_jmpbuf(_png_ptr))) {