[Swfdec-commits] 2 commits - swfdec/swfdec_text_format.c test/trace
Benjamin Otte
company at kemper.freedesktop.org
Tue Apr 29 13:15:06 PDT 2008
swfdec/swfdec_text_format.c | 6 ++++--
test/trace/Makefile.am | 9 +++++++++
test/trace/crash-0.7.1-getTextExtent-5.swf |binary
test/trace/crash-0.7.1-getTextExtent-6.swf |binary
test/trace/crash-0.7.1-getTextExtent-7.swf |binary
test/trace/crash-0.7.1-getTextExtent-8.swf |binary
test/trace/crash-0.7.1-getTextExtent.as | 9 +++++++++
7 files changed, 22 insertions(+), 2 deletions(-)
New commits:
commit 9566d9f4e157525ed8b32ea13c592b244ac8bc0a
Author: Benjamin Otte <otte at gnome.org>
Date: Tue Apr 29 22:14:52 2008 +0200
add test for recent fix
diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index 023b817..e31d0fa 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -779,6 +779,15 @@ EXTRA_DIST = \
crash-0.6.6-xmlsocket-8.swf \
crash-0.6.6-xmlsocket-8.swf.trace \
crash-0.6.6-xmlsocket.as \
+ crash-0.7.1-getTextExtent-5.swf \
+ crash-0.7.1-getTextExtent-5.swf.trace \
+ crash-0.7.1-getTextExtent-6.swf \
+ crash-0.7.1-getTextExtent-6.swf.trace \
+ crash-0.7.1-getTextExtent-7.swf \
+ crash-0.7.1-getTextExtent-7.swf.trace \
+ crash-0.7.1-getTextExtent-8.swf \
+ crash-0.7.1-getTextExtent-8.swf.trace \
+ crash-0.7.1-getTextExtent.as \
currentframe.swf \
currentframe.swf.trace \
dangling-compare.as \
diff --git a/test/trace/crash-0.7.1-getTextExtent-5.swf b/test/trace/crash-0.7.1-getTextExtent-5.swf
new file mode 100644
index 0000000..c5135ed
Binary files /dev/null and b/test/trace/crash-0.7.1-getTextExtent-5.swf differ
diff --git a/test/trace/crash-0.7.1-getTextExtent-5.swf.trace b/test/trace/crash-0.7.1-getTextExtent-5.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/crash-0.7.1-getTextExtent-6.swf b/test/trace/crash-0.7.1-getTextExtent-6.swf
new file mode 100644
index 0000000..2def982
Binary files /dev/null and b/test/trace/crash-0.7.1-getTextExtent-6.swf differ
diff --git a/test/trace/crash-0.7.1-getTextExtent-6.swf.trace b/test/trace/crash-0.7.1-getTextExtent-6.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/crash-0.7.1-getTextExtent-7.swf b/test/trace/crash-0.7.1-getTextExtent-7.swf
new file mode 100644
index 0000000..6247cab
Binary files /dev/null and b/test/trace/crash-0.7.1-getTextExtent-7.swf differ
diff --git a/test/trace/crash-0.7.1-getTextExtent-7.swf.trace b/test/trace/crash-0.7.1-getTextExtent-7.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/crash-0.7.1-getTextExtent-8.swf b/test/trace/crash-0.7.1-getTextExtent-8.swf
new file mode 100644
index 0000000..0fe80c2
Binary files /dev/null and b/test/trace/crash-0.7.1-getTextExtent-8.swf differ
diff --git a/test/trace/crash-0.7.1-getTextExtent-8.swf.trace b/test/trace/crash-0.7.1-getTextExtent-8.swf.trace
new file mode 100644
index 0000000..e69de29
diff --git a/test/trace/crash-0.7.1-getTextExtent.as b/test/trace/crash-0.7.1-getTextExtent.as
new file mode 100644
index 0000000..0831bbb
--- /dev/null
+++ b/test/trace/crash-0.7.1-getTextExtent.as
@@ -0,0 +1,9 @@
+// makeswf -v 7 -s 200x150 -r 1 -o crash-0.7.1-getTextExtent-refcounting.swf crash-0.7.1-getTextExtent-refcounting.as
+
+tf = new TextFormat ();
+
+for (i = 0; i < 10; i++) {
+ tf.getTextExtent ("hi");
+}
+
+getURL ("fscommand:quit", "");
commit c6f20892f3ef6b34247fc7f85a590e8cdc8f6389
Author: Benjamin Otte <otte at gnome.org>
Date: Tue Apr 29 22:13:37 2008 +0200
fix getTextExtent to not crash
diff --git a/swfdec/swfdec_text_format.c b/swfdec/swfdec_text_format.c
index 0b342f6..fb83c86 100644
--- a/swfdec/swfdec_text_format.c
+++ b/swfdec/swfdec_text_format.c
@@ -862,7 +862,10 @@ swfdec_text_format_getTextExtent (SwfdecAsContext *cx, SwfdecAsObject *object,
pango_shape (text, strlen (text), &analysis, glyph_string);
desc = pango_font_description_new ();
- pango_font_description_set_family_static (desc, format->font);
+ if (format->font == NULL)
+ pango_font_description_set_family_static (desc, SWFDEC_AS_STR_Times_New_Roman);
+ else
+ pango_font_description_set_family_static (desc, format->font);
pango_font_description_set_size (desc, format->size * PANGO_SCALE);
if (format->bold){
pango_font_description_set_weight (desc, PANGO_WEIGHT_BOLD);
@@ -878,7 +881,6 @@ swfdec_text_format_getTextExtent (SwfdecAsContext *cx, SwfdecAsObject *object,
g_list_free (item_list);
pango_font_description_free (desc);
g_object_unref (G_OBJECT (pcontext));
- g_object_unref (G_OBJECT (fontmap));
g_object_unref (G_OBJECT (font));
width = ink_rect.width / PANGO_SCALE + format->left_margin
More information about the Swfdec-commits
mailing list