From 7147863a1cadafc27dcab1d3f28ccab2224a6316 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Tue, 31 Oct 2006 06:42:59 +0000 Subject: [PATCH] (xic_create_xfontset): Fix previous change. --- src/ChangeLog | 4 ++++ src/xfns.c | 44 ++++++++++++++++++++++++++------------------ 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 1b6772bf680..c91555cf415 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2006-10-31 Kenichi Handa + + * xfns.c (xic_create_xfontset): Fix previous change. + 2006-10-30 Chong Yidong * s/openbsd.h (LD_SWITCH_SYSTEM): Add /usr/pkg/lib and 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); } -- 2.39.5