CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/05/14 18:44:43
Modified files: . : ChangeLog server/parser : shape_character_def.cpp Log message: * server/parser/shape_character_def.cpp (read): temporarely disabled the "don't set line and fill styles if not defined yet". It seems to break a lot of movies. We should find out why though, as I'd think styles must *first* be defined, and *after* referred. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3205&r2=1.3206 http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/shape_character_def.cpp?cvsroot=gnash&r1=1.23&r2=1.24 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.3205 retrieving revision 1.3206 diff -u -b -r1.3205 -r1.3206 --- ChangeLog 14 May 2007 17:57:45 -0000 1.3205 +++ ChangeLog 14 May 2007 18:44:42 -0000 1.3206 @@ -1,5 +1,12 @@ 2007-05-14 Sandro Santilli <[EMAIL PROTECTED]> + * server/parser/shape_character_def.cpp (read): temporarely + disabled the "don't set line and fill styles if not defined yet". + It seems to break a lot of movies. We should find out why though, + as I'd think styles must *first* be defined, and *after* referred. + +2007-05-14 Sandro Santilli <[EMAIL PROTECTED]> + * backend/render_handler_agg_style.h (is_solid): check argument with an assertion before accessing the m_styles vector. * server/parser/shape_character_def.cpp (read): don't set line and Index: server/parser/shape_character_def.cpp =================================================================== RCS file: /sources/gnash/gnash/server/parser/shape_character_def.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -u -b -r1.23 -r1.24 --- server/parser/shape_character_def.cpp 14 May 2007 17:57:45 -0000 1.23 +++ server/parser/shape_character_def.cpp 14 May 2007 18:44:43 -0000 1.24 @@ -17,7 +17,7 @@ // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // -/* $Id: shape_character_def.cpp,v 1.23 2007/05/14 17:57:45 strk Exp $ */ +/* $Id: shape_character_def.cpp,v 1.24 2007/05/14 18:44:43 strk Exp $ */ // Based on the public domain shape.cpp of Thatcher Ulrich <[EMAIL PROTECTED]> 2003 @@ -186,6 +186,8 @@ read_line_styles(m_line_styles, in, tag_type); } + log_msg("Read %u fill styles, %u line styles", m_fill_styles.size(), m_line_styles.size()); + int num_fill_bits = in->read_uint(4); int num_line_bits = in->read_uint(4); @@ -265,7 +267,7 @@ if (style > 0) { style += fill_base; } - if ( style < m_fill_styles.size() ) + if ( 1 || style <= m_fill_styles.size() ) // 1-based index ! TODO: signedness comparison mismatch { current_path.setLeftFill(style); IF_VERBOSE_PARSE( @@ -277,8 +279,9 @@ else { IF_VERBOSE_MALFORMED_SWF( - log_swferror(_("Unknown fill style %d in fillStyle0Change record "), style); + log_swferror(_("Unknown fill style %d in fillStyle0Change record - %u defined"), style, m_fill_styles.size()); ); + current_path.setLeftFill(0); } } @@ -295,7 +298,7 @@ if (style > 0) { style += fill_base; } - if ( style < m_fill_styles.size() ) + if ( 1 || style <= m_fill_styles.size() ) // 1-based index ! TODO: signedness comparison mismatch { current_path.setRightFill(style); // getRightFill() = style; IF_VERBOSE_PARSE ( @@ -309,6 +312,7 @@ IF_VERBOSE_MALFORMED_SWF( log_swferror(_("Unknown fill style %d in fillStyle1Change record "), style); ); + current_path.setRightFill(0); } } if ((flags & flagLineStyleChange) && num_line_bits > 0) @@ -324,7 +328,7 @@ if (style > 0) { style += line_base; } - if ( style < m_line_styles.size() ) + if ( 1 || style <= m_line_styles.size() ) // 1-based index ! TODO: signedness comparison mismatch { current_path.setLineStyle(style); IF_VERBOSE_PARSE ( @@ -339,6 +343,7 @@ IF_VERBOSE_MALFORMED_SWF( log_swferror(_("Unknown line style %d in lienStyleChange record "), style); ); + current_path.setLineStyle(0); } } if (flags & flagHasNewStyles) _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit