Commit de2d90af6e9b9b719dc152828e26e00d2781bff0

Werner Lemberg 2006-05-17T08:54:30

* src/cff/cffload.c (cff_font_done): Deallocate subfont array. This fixes the first part of Savannah bug #16590. * docs/PROBLEMS: Updated icl issues.

diff --git a/ChangeLog b/ChangeLog
index 98b02b9..a6d49e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,17 @@
+2007-05-17  Werner Lemberg  <wl@gnu.org>
+
+	* src/cff/cffload.c (cff_font_done): Deallocate subfont array.  This
+	fixes the first part of Savannah bug #16590. 
+
+2006-05-16  Werner Lemberg  <wl@gnu.org>
+
+	* docs/PROBLEMS: Updated icl issues.
+
 2006-05-12  Werner Lemberg  <wl@gnu.org>
 
 
 	* Version 2.2.1 released.
-	===============++========
+	=========================
 
 
 	Tag sources with `VER-2-2-1'.
diff --git a/docs/PROBLEMS b/docs/PROBLEMS
index fadd9c5..fb0fee0 100644
--- a/docs/PROBLEMS
+++ b/docs/PROBLEMS
@@ -12,19 +12,35 @@ Compilation Problems
 * I get an `internal compilation error' (ICE) while compiling FreeType
   2.2.1 with Intel C++.
 
-This has been reported for the following compiler version:
+  This has been reported for the following compiler version:
+
+    Intel(R) C++ Compiler for 32-bit applications,
+      Version 9.0 Build 20050430Z Package ID: W_CC_P_9.0.019
+
+-----
+
+The best solution is to update the compiler to version
 
   Intel(R) C++ Compiler for 32-bit applications,
-    Version 9.0 Build 20050430Z Package ID: W_CC_P_9.0.019
+    Version 9.1 Build 20060323Z Package ID: W_CC_P_9.1.022
 
-A solution to this problem is to apply the following patch.
+or newer.  If this isn't feasible, apply the following patch.
 
 
---- src/cache/ftcbasic.c	2006-03-20 14:34:23.000000000 +0100
-+++ src/cache/ftcbasic.c.patched	2006-04-03 18:39:28.165346008 +0200
+--- src/cache/ftcbasic.c 20 Mar 2006 12:10:24 -0000 1.20
++++ src/cache/ftcbasic.c.patched 15 May 2006 02:51:02 -0000
+@@ -252,7 +252,7 @@
+   */
+
+   FT_CALLBACK_TABLE_DEF
+-  const FTC_IFamilyClassRec  ftc_basic_image_family_class =
++  FTC_IFamilyClassRec  ftc_basic_image_family_class =
+   {
+     {
+       sizeof ( FTC_BasicFamilyRec ),
 @@ -266,7 +266,7 @@
- 
- 
+
+
    FT_CALLBACK_TABLE_DEF
 -  const FTC_GCacheClassRec  ftc_basic_image_cache_class =
 +  FTC_GCacheClassRec  ftc_basic_image_cache_class =
diff --git a/src/cff/cffload.c b/src/cff/cffload.c
index a7b7d70..ac5ed85 100644
--- a/src/cff/cffload.c
+++ b/src/cff/cffload.c
@@ -2298,6 +2298,9 @@
     {
       for ( idx = 0; idx < font->num_subfonts; idx++ )
         cff_subfont_done( memory, font->subfonts[idx] );
+
+      /* the subfonts array has been allocated as a single block */
+      FT_FREE( font->subfonts[0] );
     }
 
     cff_encoding_done( &font->encoding );