aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2006-10-31 06:42:59 +0000
committerKenichi Handa2006-10-31 06:42:59 +0000
commit7147863a1cadafc27dcab1d3f28ccab2224a6316 (patch)
treebf123304c97402e3adb2dc74203a7f3177f044cf /src
parent24b86c51ee4241b16d30db1117c8450710f9ee95 (diff)
downloademacs-7147863a1cadafc27dcab1d3f28ccab2224a6316.tar.gz
emacs-7147863a1cadafc27dcab1d3f28ccab2224a6316.zip
(xic_create_xfontset): Fix previous change.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog4
-rw-r--r--src/xfns.c44
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 @@
12006-10-31 Kenichi Handa <handa@m17n.org>
2
3 * xfns.c (xic_create_xfontset): Fix previous change.
4
12006-10-30 Chong Yidong <cyd@stupidchicken.com> 52006-10-30 Chong Yidong <cyd@stupidchicken.com>
2 6
3 * s/openbsd.h (LD_SWITCH_SYSTEM): Add /usr/pkg/lib and 7 * 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)
2134 if (!xfs) 2134 if (!xfs)
2135 { 2135 {
2136 char *fontsetname = xic_create_fontsetname (base_fontname, False); 2136 char *fontsetname = xic_create_fontsetname (base_fontname, False);
2137 char *p0 = fontsetname, *p1;
2138 2137
2139 /* New fontset. */ 2138 /* New fontset. */
2140 /* FONTSETNAME contains a list of font names (specific fonts 2139 xfs = XCreateFontSet (FRAME_X_DISPLAY (f),
2141 first, general fonts last), but giving that to XCreateFontSet 2140 fontsetname, &missing_list,
2142 at once occasionally fails (bug of X?). So, we try to call 2141 &missing_count, &def_string);
2143 XCreateFontSet for each fontname. */ 2142 if (missing_list)
2144 2143 XFreeStringList (missing_list);
2145 while (p0) 2144 if (! xfs)
2146 { 2145 {
2147 p1 = strchr (p0, ','); 2146 /* FONTSETNAME contains a list of font names (specific fonts
2148 if (p1) 2147 first, general fonts last), but giving that to
2149 *p1 = '\0'; 2148 XCreateFontSet at once occasionally fails (bug of X?).
2150 xfs = XCreateFontSet (FRAME_X_DISPLAY (f), 2149 So, we try to call XCreateFontSet for each fontname. */
2151 p0, &missing_list, 2150 char *p0 = fontsetname, *p1;
2152 &missing_count, &def_string); 2151
2153 if (missing_list) 2152 while (p0)
2154 XFreeStringList (missing_list); 2153 {
2155 if (xfs) 2154 p1 = strchr (p0, ',');
2156 break; 2155 if (p1)
2157 p0 = p1 ? p1 + 1 : NULL; 2156 *p1 = '\0';
2157 xfs = XCreateFontSet (FRAME_X_DISPLAY (f),
2158 p0, &missing_list,
2159 &missing_count, &def_string);
2160 if (missing_list)
2161 XFreeStringList (missing_list);
2162 if (xfs)
2163 break;
2164 p0 = p1 ? p1 + 1 : NULL;
2165 }
2158 } 2166 }
2159 xfree (fontsetname); 2167 xfree (fontsetname);
2160 } 2168 }