[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep)
From: |
William Xu |
Subject: |
Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep) |
Date: |
Mon, 04 Feb 2008 13:40:15 +0900 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (darwin) |
Chris Hall <cjh@insidernewswire.com> writes:
> Obviously, the possibility of the default face not being realized was
> anticipated by somebody, and considered serious enough to terminate
> execution -- there was already in place a check for exactly that, and
> the possibility of issuing a message and then deliberately 'erroring
> out' of the program if it hadn't been realized.
FYI, the carbon port in the trunk also suffers a similar problem after
the unicode-2 merge. Namely, the default face can not be correctly
realized. The seg fault occurs in `realize_x_face' of xfaces.c. If I
ignored it, emacs could be built and run, but everything is displayed as
boxes...
Related codes: xfaces.c/(realized_x_face)
---------------------------------8<-------------------------------------
/* Determine the font to use. Most of the time, the font will be
the same as the font of the default face, so try that first. */
default_face = FACE_FROM_ID (f, DEFAULT_FACE_ID);
if (default_face
&& lface_same_font_attributes_p (default_face->lface, attrs))
{
face->font = default_face->font;
face->font_info_id = default_face->font_info_id;
#ifdef USE_FONT_BACKEND
face->font_info = default_face->font_info;
#endif /* USE_FONT_BACKEND */
face->font_name = default_face->font_name;
face->fontset
= make_fontset_for_ascii_face (f, default_face->fontset, face);
}
else
{
/* If the face attribute ATTRS specifies a fontset, use it as
the base of a new realized fontset. Otherwise, use the same
base fontset as of the default face. The base determines
registry and encoding of a font. It may also determine
foundry and family. The other fields of font name pattern
are constructed from ATTRS. */
int fontset = face_fontset (attrs);
/* If we are realizing the default face, ATTRS should specify a
fontset. In other words, if FONTSET is -1, we are not
realizing the default face, thus the default face should have
already been realized. */
if (fontset == -1)
// (xwl): default_face is still NULL, and fontset is -1...
fontset = default_face->fontset; //<-------------- crash here !
if (fontset == -1)
abort ();
#ifdef USE_FONT_BACKEND
if (enable_font_backend)
font_load_for_face (f, face);
else
#endif /* USE_FONT_BACKEND */
load_face_font (f, face);
if (face->font)
face->fontset = make_fontset_for_ascii_face (f, fontset, face);
*/
else
face->fontset = -1;
}
---------------------------------8<-------------------------------------
--
William
http://williamxu.net9.org
- Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep), (continued)
- Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep), Chris Hall, 2008/02/05
- Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep), YAMAMOTO Mitsuharu, 2008/02/05
- Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep), Chris Hall, 2008/02/06
- Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep), Chris Hall, 2008/02/05
- Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep), Jason Rumney, 2008/02/03
- Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep), Chris Hall, 2008/02/03
- Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep),
William Xu <=
- Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep), Jason Rumney, 2008/02/04
- Re: 23.0.60; Seg fault in xfaces.c at line 6703 (Emacs.app on GNUstep), Chris Hall, 2008/02/04