From 8bda02e5a0c1b989185e02b56aa3312ecff24e3d Mon Sep 17 00:00:00 2001
From: kramm <kramm>
Date: Sun, 19 Jun 2005 10:55:57 +0000
Subject: [PATCH] fixed memory deallocing

---
 lib/modules/swftext.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lib/modules/swftext.c b/lib/modules/swftext.c
index d515456..b1a1080 100644
--- a/lib/modules/swftext.c
+++ b/lib/modules/swftext.c
@@ -575,8 +575,10 @@ static void font_freeglyphnames(SWFFONT*f)
     if (f->glyphnames) {
 	int t;
 	for (t = 0; t < f->numchars; t++) {
-	    if (f->glyphnames[t])
+	    if (f->glyphnames[t]) {
 		rfx_free(f->glyphnames[t]);
+		f->glyphnames[t] = 0;
+	    }
 	}
 	rfx_free(f->glyphnames);
 	f->glyphnames = 0;
@@ -657,6 +659,9 @@ int swf_FontReduce(SWFFONT * f)
     int max_glyph = 0;
     if ((!f) || (!f->use) || f->use->is_reduced)
 	return -1;
+    
+    font_freelayout(f);
+    font_freeglyphnames(f);
 
     for (i = 0; i < f->numchars; i++) {
 	if(!f->use->chars[i]) {
@@ -679,8 +684,6 @@ int swf_FontReduce(SWFFONT * f)
     }
     f->maxascii = max_unicode;
     f->numchars = max_glyph;
-    font_freelayout(f);
-    font_freeglyphnames(f);
     font_freename(f);
     return 0;
 }
-- 
1.7.10.4