Mercurial > emacs
diff src/xfns.c @ 73568:0cc0a8049941
(xic_create_xfontset): Fix previous change.
| author | Kenichi Handa <handa@m17n.org> |
|---|---|
| date | Tue, 31 Oct 2006 06:41:55 +0000 |
| parents | 1fd4b3c12646 |
| children | 3d45362f1d38 c71725faff1a 02cf29720f31 |
line wrap: on
line diff
--- a/src/xfns.c Tue Oct 31 02:08:16 2006 +0000 +++ b/src/xfns.c Tue Oct 31 06:41:55 2006 +0000 @@ -2134,27 +2134,35 @@ 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); }
