pango fmr ...
- From: Michael Meeks <michael ximian com>
- To: Owen Taylor <otaylor redhat com>
- Cc: gtk-devel-list gnome org
- Subject: pango fmr ...
- Date: Thu, 19 Jul 2001 16:10:13 -0400 (EDT)
After much tweaking with -lefence I got:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 30431)]
0x408b29a0 in __strcasecmp (s1=0x4e432ff8 <Address 0x4e432ff8 out of
bounds>, s2=0x4e41cff8 "Sans") at ../sysdeps/generic/strcasecmp.c:64
64 ../sysdeps/generic/strcasecmp.c: No such file or directory.
in ../sysdeps/generic/strcasecmp.c
(gdb) bt
#0 0x408b29a0 in __strcasecmp (s1=0x4e432ff8 <Address 0x4e432ff8 out of
bounds>, s2=0x4e41cff8 "Sans") at ../sysdeps/generic/strcasecmp.c:64
#1 0x407653b6 in g_strcasecmp (s1=0x4e432ff8 <Address 0x4e432ff8 out of
bounds>, s2=0x4e41cff8 "Sans") at gstrfuncs.c:1300
#2 0x40512ff6 in pango_font_description_equal (desc1=0xbfffbc90,
desc2=0xbfffbbe0) at fonts.c:92
#3 0x40517aaa in add_engines (context=0x4e410fe4, text=0x4e422ffc "Ga",
start_index=0, length=2, attrs=0x4cf94ff4, cached_iter=0x4e424ff0,
n_chars=2, analyses=0x4e42efd0) at pango-context.c:946
#4 0x40517184 in pango_itemize (context=0x4e410fe4, text=0x4e422ffc "Ga",
start_index=0, length=2, attrs=0x4cf94ff4, cached_iter=0x4e424ff0)
at pango-context.c:566
#5 0x4051c692 in pango_layout_check_lines (layout=0x4e420fb8) at
pango-layout.c:2847
#6 0x4051b213 in pango_layout_get_extents_internal (layout=0x4e420fb8,
ink_rect=0x0, logical_rect=0xbfffbea0, line_extents=0x0)
at pango-layout.c:1897
#7 0x4051b466 in pango_layout_get_extents (layout=0x4e420fb8,
ink_rect=0x0, logical_rect=0xbfffbea0) at pango-layout.c:2021
#8 0x401d10ac in gtk_label_ensure_layout (label=0x4cf66f7c,
widthp=0xbfffbee4, heightp=0xbfffbee8) at gtklabel.c:1269
#9 0x401d11cd in gtk_label_size_request (widget=0x4cf66f7c,
requisition=0x4cf66f98) at gtklabel.c:1294
#10 0x40160108 in gtk_accel_label_size_request (widget=0x4cf66f7c,
requisition=0x4cf66f98) at gtkaccellabel.c:272
#11 0x40616c8d in g_cclosure_marshal_VOID__BOXED (closure=0x41f37ff0,
return_value=0x0, n_param_values=2, param_values=0xbfffc240,
invocation_hint=0xbfffc140, marshal_data=0x40160020) at gmarshal.c:521
#12 0x406033bf in g_type_class_meta_marshal (closure=0x41f37ff0,
return_value=0x0, n_param_values=2, param_values=0xbfffc240,
invocation_hint=0xbfffc140, marshal_data=0x5c) at gclosure.c:513
#13 0x40602fc2 in g_closure_invoke (closure=0x41f37ff0, return_value=0x0,
n_param_values=2, param_values=0xbfffc240, invocation_hint=0xbfffc140)
at gclosure.c:436
#14 0x40614fa4 in signal_emit_unlocked_R (node=0x41f41fd8, detail=0,
instance=0x4cf66f7c, emission_return=0x0, instance_and_params=0xbfffc240)
at gsignal.c:2051
It looks to me as if as we do pango-context.c (add_engines)
!pango_font_description_equal (¤t_desc, &next_desc))
{
current_desc = next_desc;
font_set_load (¤t_fonts, context, language,¤t_desc);
}
That the current_desc->font_family is setup to point to the result
of a call to pango_font_describe on a font that is released by
font_set_load via: font_set_free, resulting in an invalid pointer being
carried around in current_desc.
Quite how to fix is beyond me; perhaps carrying a reference to the
master font around in a PangoFontDescription ? perhaps copying the family.
What do you think ?
Michael.
--
mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]