]> git.eshelyaron.com Git - emacs.git/commitdiff
nsfont.m: duplicate UTF8Strings before modifying with nsfont_escape_family_name ...
authorAdrian Robert <Adrian.B.Robert@gmail.com>
Sat, 19 Jul 2008 17:13:48 +0000 (17:13 +0000)
committerAdrian Robert <Adrian.B.Robert@gmail.com>
Sat, 19 Jul 2008 17:13:48 +0000 (17:13 +0000)
src/ChangeLog
src/nsfont.m

index 95ccdc5f30347e374a41e642188d850f13cd7d9b..d395861dfa14f0e512808db3312be1cf35fa4b62 100644 (file)
@@ -1,3 +1,9 @@
+2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
+
+       * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
+       strdup() the family UTF8String before modifying it.  Patch due to
+       Seiji Zenitani.
+
 2008-07-19  Adrian Robert  <Adrian.B.Robert@gmail.com>
 
        * nsfns.m (ns_set_background_color): Apply patch from Chong Yidong to
index d6aa9ac65e557cbba2c5859f09ddd596cf98d413..bf15ee8493391c0ee210958d350878fada485da9 100644 (file)
@@ -150,7 +150,7 @@ nsfont_fmember_to_entity (NSString *family, NSArray *famMember)
   unsigned int traits = [[famMember objectAtIndex: 3] unsignedIntValue];
 /*   NSString *psName = [famMember objectAtIndex: 0]; */
   NSMutableString *suffix = [[famMember objectAtIndex: 1] mutableCopy];
-  char *escapedFamily = [family UTF8String];
+  char *escapedFamily = strdup ([family UTF8String]);
 
   nsfont_escape_name (escapedFamily);
   [suffix replaceOccurrencesOfString: @" " withString: @"" options: 0
@@ -181,6 +181,7 @@ nsfont_fmember_to_entity (NSString *family, NSArray *famMember)
      }
 
   [suffix release];
+  free (escapedFamily);
   return font_entity;
 }
 
@@ -1226,7 +1227,7 @@ void nsfont_make_fontset_for_font (Lisp_Object name, Lisp_Object font_object)
 
         if (cfont != nil)
           {
-            char *family = [[cfont familyName] UTF8String];
+            char *family = strdup([[cfont familyName] UTF8String]);
             Lisp_Object famAndReg;
 
             nsfont_escape_name (family);
@@ -1238,6 +1239,7 @@ void nsfont_make_fontset_for_font (Lisp_Object name, Lisp_Object font_object)
                        SDATA (SYMBOL_NAME (scripts[i])));
 
             Fset_fontset_font (name, scripts[i], famAndReg, Qnil, Qnil);
+            free (family);
           }
         else
           {