[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#12050: 23.3; font trashes mode-line file name
From: |
joseph |
Subject: |
bug#12050: 23.3; font trashes mode-line file name |
Date: |
Mon, 30 Jul 2012 04:20:11 -0400 |
User-agent: |
SquirrelMail/1.4.22 |
with src/xdisp.c 22736 fix (24.1 line numbers differ by ~300 but context
is correct):
run -q -fn -adobe-times-bold-r-normal--0-0-0-0-p-0-iso8859-15
does not crash emacs but mode-line is completely undecipherable. each char
appears to have an octal representation of a char inside a rectangular box
run -q -fn -adobe-times-medium-r-normal--0-0-0-0-p-0-iso8859-15
crash at
xfaces.c:4841
4841 if (! EQ (face->font->props[i], def_face->font->props[i]))
(gdb) print def_face->font
$2 = (struct font *) 0x0
run -q -fn -adobe-helvetica-bold-r-normal--0-0-0-0-p-0-iso8859-15
crash at
xfaces.c:4841
4841 if (! EQ (face->font->props[i], def_face->font->props[i]))
(gdb) print def_face->font
$2 = (struct font *) 0x0
run -q -fn -adobe-helvetica-medium-r-normal--0-0-0-0-p-0-iso8859-15
crash at
xfaces.c:4841
4841 if (! EQ (face->font->props[i], def_face->font->props[i]))
(gdb) print def_face->font
$2 = (struct font *) 0x0
>> Date: Sun, 29 Jul 2012 07:44:16 -0400
>> From: joseph@photosessionsltd.com
>>
>> with the gdb command
>> run -q -fn -adobe-times-bold-r-normal--0-0-0-0-p-0-iso8859-15
>> the crash occurs at xterm.c:1216
>> 1216 else if (FONT_HEIGHT (s->font) < s->height - 2 * box_line_width
>
> This is fixed in the development sources, patch below.
>
>> with the gdb command
>> run -q -fn -adobe-helvetica-bold-r-normal--0-0-0-0-p-0-iso8859-15
>> the crash occurs at xfaces.c:4841
>> 4841 if (! EQ (face->font->props[i], def_face->font->props[i]))
>
> Why does this crash? is def_face->font a NULL pointer or something?
>
>> recall that the times line crashes in 23.3 and 24.1 and the helvetica
>> line
>> works fine in 23.3 and crashes in 24.1.
>
> Note that both fonts are bold. If you use the non-bold variant of the
> same font, does the problem go away?
>
> --- src/xdisp.c 2012-07-07 21:39:45 +0000
> +++ src/xdisp.c 2012-07-08 15:49:39 +0000
> @@ -22736,7 +22736,7 @@ fill_glyphless_glyph_string (struct glyp
> last = s->row->glyphs[s->area] + end;
> voffset = glyph->voffset;
> s->face = FACE_FROM_ID (s->f, face_id);
> - s->font = s->face->font;
> + s->font = s->face->font ? s->face->font : FRAME_FONT (s->f);
> s->nchars = 1;
> s->width = glyph->pixel_width;
> glyph++;
>
>