diff options
author | Kenichi Handa <handa@m17n.org> | 2006-10-31 06:42:59 +0000 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2006-10-31 06:42:59 +0000 |
commit | 7147863a1cadafc27dcab1d3f28ccab2224a6316 (patch) | |
tree | bf123304c97402e3adb2dc74203a7f3177f044cf /src/xfns.c | |
parent | 24b86c51ee4241b16d30db1117c8450710f9ee95 (diff) | |
download | emacs-7147863a1cadafc27dcab1d3f28ccab2224a6316.tar.gz emacs-7147863a1cadafc27dcab1d3f28ccab2224a6316.tar.bz2 emacs-7147863a1cadafc27dcab1d3f28ccab2224a6316.zip |
(xic_create_xfontset): Fix previous change.
Diffstat (limited to 'src/xfns.c')
-rw-r--r-- | src/xfns.c | 44 |
1 files changed, 26 insertions, 18 deletions
diff --git a/src/xfns.c b/src/xfns.c index 9f656d4cd7b..8f03d90c796 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -2134,27 +2134,35 @@ xic_create_xfontset (f, base_fontname) if (!xfs) { char *fontsetname = xic_create_fontsetname (base_fontname, False); - char *p0 = fontsetname, *p1; /* New fontset. */ - /* FONTSETNAME contains a list of font names (specific fonts - first, general fonts last), but giving that to XCreateFontSet - at once occasionally fails (bug of X?). So, we try to call - XCreateFontSet for each fontname. */ - - while (p0) + xfs = XCreateFontSet (FRAME_X_DISPLAY (f), + fontsetname, &missing_list, + &missing_count, &def_string); + if (missing_list) + XFreeStringList (missing_list); + if (! xfs) { - p1 = strchr (p0, ','); - if (p1) - *p1 = '\0'; - xfs = XCreateFontSet (FRAME_X_DISPLAY (f), - p0, &missing_list, - &missing_count, &def_string); - if (missing_list) - XFreeStringList (missing_list); - if (xfs) - break; - p0 = p1 ? p1 + 1 : NULL; + /* FONTSETNAME contains a list of font names (specific fonts + first, general fonts last), but giving that to + XCreateFontSet at once occasionally fails (bug of X?). + So, we try to call XCreateFontSet for each fontname. */ + char *p0 = fontsetname, *p1; + + while (p0) + { + p1 = strchr (p0, ','); + if (p1) + *p1 = '\0'; + xfs = XCreateFontSet (FRAME_X_DISPLAY (f), + p0, &missing_list, + &missing_count, &def_string); + if (missing_list) + XFreeStringList (missing_list); + if (xfs) + break; + p0 = p1 ? p1 + 1 : NULL; + } } xfree (fontsetname); } |