[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/parser/shape_character_d...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/parser/shape_character_d... |
Date: |
Wed, 23 Jan 2008 14:22:00 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/01/23 14:21:59
Modified files:
. : ChangeLog
server/parser : shape_character_def.cpp
Log message:
only skip parsing shapes with 0 line/fill bits if the tag is a
DEFINEFONT*.
Fixes bug #22000 and a secondary bug #21923.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5477&r2=1.5478
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/shape_character_def.cpp?cvsroot=gnash&r1=1.61&r2=1.62
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5477
retrieving revision 1.5478
diff -u -b -r1.5477 -r1.5478
--- ChangeLog 23 Jan 2008 12:39:36 -0000 1.5477
+++ ChangeLog 23 Jan 2008 14:21:58 -0000 1.5478
@@ -1,5 +1,12 @@
2008-01-23 Sandro Santilli <address@hidden>
+ * server/parser/shape_character_def.cpp (read): only
+ skip parsing shapes with 0 line/fill bits if the tag
+ is a DEFINEFONT*. Fixes bug #22000 and a secondary
+ bug #21923.
+
+2008-01-23 Sandro Santilli <address@hidden>
+
* testsuite/misc-ming.all/masks_test2runner.cpp: successes.
* server/character.h (isMaskLayer): dynamic masks are not mask
layers.
Index: server/parser/shape_character_def.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/shape_character_def.cpp,v
retrieving revision 1.61
retrieving revision 1.62
diff -u -b -r1.61 -r1.62
--- server/parser/shape_character_def.cpp 21 Jan 2008 20:56:01 -0000
1.61
+++ server/parser/shape_character_def.cpp 23 Jan 2008 14:21:59 -0000
1.62
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: shape_character_def.cpp,v 1.61 2008/01/21 20:56:01 rsavoye Exp $ */
+/* $Id: shape_character_def.cpp,v 1.62 2008/01/23 14:21:59 strk Exp $ */
// Based on the public domain shape.cpp of Thatcher Ulrich <address@hidden>
2003
@@ -229,19 +229,26 @@
{
/// When reading font glyphs it happens to read 1 byte
/// past end boundary of a glyph due to fill/line bits being
+ /// zero.
///
- /// Returning here seems to break morphs
- /// See https://savannah.gnu.org/bugs/?21747
+ /// Generally returning here seems to break morphs:
+ /// http://savannah.gnu.org/bugs/?21747
+ /// And other normal shapes:
+ /// http://savannah.gnu.org/bugs/?21923
+ /// http://savannah.gnu.org/bugs/?22000
///
/// So for now we only return if NOT reading a morph shape.
/// Pretty ugly... till next bug report.
///
///
- if (tag_type != SWF::DEFINEMORPHSHAPE
- && tag_type != SWF::DEFINEMORPHSHAPE2
- && tag_type != SWF::DEFINEMORPHSHAPE2_)
+ if (tag_type == SWF::DEFINEFONT || tag_type == SWF::DEFINEFONT2 ||
tag_type == SWF::DEFINEFONT3)
+ {
+ // better log something, so we have an hint
+ // if something is broken
+ log_debug("Skipping glyph read, being fill and line bits zero.
SWF tag is %d.", tag_type);
return;
}
+ }
// These are state variables that keep the
// current position & style of the shape
- [Gnash-commit] gnash ChangeLog server/parser/shape_character_d...,
Sandro Santilli <=