aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAdrian Robert2008-07-19 17:13:48 +0000
committerAdrian Robert2008-07-19 17:13:48 +0000
commitc0230162c8b7baf289c5ea478be8ac46b0902a60 (patch)
tree0ac4cbfa11c1d693d9bf3416d4c4f2ee579eb062 /src
parent45d325c4d16ce9dbe00bba3d265c0d7b2d1fa58b (diff)
downloademacs-c0230162c8b7baf289c5ea478be8ac46b0902a60.tar.gz
emacs-c0230162c8b7baf289c5ea478be8ac46b0902a60.zip
nsfont.m: duplicate UTF8Strings before modifying with nsfont_escape_family_name - patch due to Seiji Zenitani
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/nsfont.m6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 95ccdc5f303..d395861dfa1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,11 @@
12008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com> 12008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
2 2
3 * nsfont.m (nsfont_fmember_to_entity, nsfont_make_fontset_for_font):
4 strdup() the family UTF8String before modifying it. Patch due to
5 Seiji Zenitani.
6
72008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com>
8
3 * nsfns.m (ns_set_background_color): Apply patch from Chong Yidong to 9 * nsfns.m (ns_set_background_color): Apply patch from Chong Yidong to
4 fix crash. 10 fix crash.
5 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from 11 * nsterm.m (ns_maybe_dumpglyphs_background): Compare result from
diff --git a/src/nsfont.m b/src/nsfont.m
index d6aa9ac65e5..bf15ee84933 100644
--- a/src/nsfont.m
+++ b/src/nsfont.m
@@ -150,7 +150,7 @@ nsfont_fmember_to_entity (NSString *family, NSArray *famMember)
150 unsigned int traits = [[famMember objectAtIndex: 3] unsignedIntValue]; 150 unsigned int traits = [[famMember objectAtIndex: 3] unsignedIntValue];
151/* NSString *psName = [famMember objectAtIndex: 0]; */ 151/* NSString *psName = [famMember objectAtIndex: 0]; */
152 NSMutableString *suffix = [[famMember objectAtIndex: 1] mutableCopy]; 152 NSMutableString *suffix = [[famMember objectAtIndex: 1] mutableCopy];
153 char *escapedFamily = [family UTF8String]; 153 char *escapedFamily = strdup ([family UTF8String]);
154 154
155 nsfont_escape_name (escapedFamily); 155 nsfont_escape_name (escapedFamily);
156 [suffix replaceOccurrencesOfString: @" " withString: @"" options: 0 156 [suffix replaceOccurrencesOfString: @" " withString: @"" options: 0
@@ -181,6 +181,7 @@ nsfont_fmember_to_entity (NSString *family, NSArray *famMember)
181 } 181 }
182 182
183 [suffix release]; 183 [suffix release];
184 free (escapedFamily);
184 return font_entity; 185 return font_entity;
185} 186}
186 187
@@ -1226,7 +1227,7 @@ void nsfont_make_fontset_for_font (Lisp_Object name, Lisp_Object font_object)
1226 1227
1227 if (cfont != nil) 1228 if (cfont != nil)
1228 { 1229 {
1229 char *family = [[cfont familyName] UTF8String]; 1230 char *family = strdup([[cfont familyName] UTF8String]);
1230 Lisp_Object famAndReg; 1231 Lisp_Object famAndReg;
1231 1232
1232 nsfont_escape_name (family); 1233 nsfont_escape_name (family);
@@ -1238,6 +1239,7 @@ void nsfont_make_fontset_for_font (Lisp_Object name, Lisp_Object font_object)
1238 SDATA (SYMBOL_NAME (scripts[i]))); 1239 SDATA (SYMBOL_NAME (scripts[i])));
1239 1240
1240 Fset_fontset_font (name, scripts[i], famAndReg, Qnil, Qnil); 1241 Fset_fontset_font (name, scripts[i], famAndReg, Qnil, Qnil);
1242 free (family);
1241 } 1243 }
1242 else 1244 else
1243 { 1245 {