diff options
| author | Adrian Robert | 2008-07-19 17:13:48 +0000 |
|---|---|---|
| committer | Adrian Robert | 2008-07-19 17:13:48 +0000 |
| commit | c0230162c8b7baf289c5ea478be8ac46b0902a60 (patch) | |
| tree | 0ac4cbfa11c1d693d9bf3416d4c4f2ee579eb062 /src | |
| parent | 45d325c4d16ce9dbe00bba3d265c0d7b2d1fa58b (diff) | |
| download | emacs-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/ChangeLog | 6 | ||||
| -rw-r--r-- | src/nsfont.m | 6 |
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 @@ | |||
| 1 | 2008-07-19 Adrian Robert <Adrian.B.Robert@gmail.com> | 1 | 2008-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 | |||
| 7 | 2008-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 | { |