diff options
author | Miles Bader <miles@gnu.org> | 2006-11-07 23:22:48 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2006-11-07 23:22:48 +0000 |
commit | dbc3b08c405a7b1c0ddb0fb0c98164b355802af5 (patch) | |
tree | 00c6f28244409d14bec11e221fb3c03daef63fc6 /src/xfns.c | |
parent | bbb6e8f2b6037dc1ee4ddd6cb63a1a6ddb04a591 (diff) | |
parent | 86cb14475e9e76f0b3323d2e7110a4a2bd310cdb (diff) | |
download | emacs-dbc3b08c405a7b1c0ddb0fb0c98164b355802af5.tar.gz emacs-dbc3b08c405a7b1c0ddb0fb0c98164b355802af5.tar.bz2 emacs-dbc3b08c405a7b1c0ddb0fb0c98164b355802af5.zip |
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 490-504)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 161-163)
- Update from CVS
- Merge from emacs--devo--0
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-130
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 44f87b8d273..d1a5def4c34 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -2120,27 +2120,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); } |