|
From: <br...@us...> - 2012-04-23 07:37:14
|
Revision: 4249
http://openvrml.svn.sourceforge.net/openvrml/?rev=4249&view=rev
Author: braden
Date: 2012-04-23 07:37:06 +0000 (Mon, 23 Apr 2012)
Log Message:
-----------
libpng 1.5 removes direct access to struct members; use accessor functions instead.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/node/vrml97/image_stream_listener.cpp
trunk/src/node/vrml97/image_stream_listener.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2012-04-23 06:47:59 UTC (rev 4248)
+++ trunk/ChangeLog 2012-04-23 07:37:06 UTC (rev 4249)
@@ -1,7 +1,15 @@
+2012-04-23 Tom Callaway <tca...@re...>
+
+ libpng 1.5 removes direct access to struct members; use accessor
+ functions instead.
+
+ * src/node/vrml97/image_stream_listener.cpp
+ * src/node/vrml97/image_stream_listener.h
+
2012-04-23 Braden McDaniel <br...@en...>
- NP[P]_GetMIMEDescription returns const char * in recent variations of
- NPAPI.
+ NP[P]_GetMIMEDescription returns const char * in recent variations
+ of NPAPI.
* configure.ac
* src/mozilla-plugin/openvrml.cpp
Modified: trunk/src/node/vrml97/image_stream_listener.cpp
===================================================================
--- trunk/src/node/vrml97/image_stream_listener.cpp 2012-04-23 06:47:59 UTC (rev 4248)
+++ trunk/src/node/vrml97/image_stream_listener.cpp 2012-04-23 07:37:06 UTC (rev 4249)
@@ -136,7 +136,9 @@
png_read_update_info(png_ptr, info_ptr);
- reader.old_row.resize(png_ptr->rowbytes);
+ reader.width = png_get_image_width(png_ptr, info_ptr);
+ reader.rowbytes = png_get_rowbytes(png_ptr, info_ptr);
+ reader.old_row.resize(reader.rowbytes);
}
void openvrml_png_row_callback(png_structp png_ptr,
@@ -166,9 +168,7 @@
// openvrml::image pixels start at the bottom left.
//
const size_t image_row = (image.y() - 1) - row_num;
- const size_t bytes_per_row = png_ptr->rowbytes;
- const size_t image_width = png_ptr->width;
- for (size_t pixel_index = 0, byte_index = 0; pixel_index < image_width;
+ for (size_t pixel_index = 0, byte_index = 0; pixel_index < reader.width;
++pixel_index) {
using openvrml::int32;
int32 pixel = 0x00000000;
@@ -188,14 +188,14 @@
++byte_index;
}
}
- image.pixel(image_row * image_width + pixel_index, pixel);
+ image.pixel(image_row * reader.width + pixel_index, pixel);
}
reader.stream_listener.node_.modified(true);
- assert(reader.old_row.size() >= bytes_per_row);
+ assert(reader.old_row.size() >= reader.rowbytes);
- copy(new_row, new_row + bytes_per_row, reader.old_row.begin());
+ copy(new_row, new_row + reader.rowbytes, reader.old_row.begin());
}
void openvrml_png_end_callback(png_structp, png_infop)
Modified: trunk/src/node/vrml97/image_stream_listener.h
===================================================================
--- trunk/src/node/vrml97/image_stream_listener.h 2012-04-23 06:47:59 UTC (rev 4248)
+++ trunk/src/node/vrml97/image_stream_listener.h 2012-04-23 07:37:06 UTC (rev 4249)
@@ -88,6 +88,8 @@
image_stream_listener & stream_listener;
std::vector<png_byte> old_row;
bool gray_palette;
+ png_uint_32 width;
+ png_size_t rowbytes;
explicit png_reader(image_stream_listener & stream_listener);
virtual ~png_reader() OPENVRML_NOTHROW;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|