On Sun, Jan 02, 2011 at 04:18:17PM -0000, Phil Holmes wrote:
> "In your original backtrace, is the X_AXIS parent of the Item in frame #2 
> 0x0? If so, I'm fine with the patch."
> 
> I've been using this as a learning exercise, and can say that 
> Item::spanned_rank_interval calls Item::get_column to return the parent, as 
> below.
> 
> Paper_column *
> Item::get_column () const
> {
>  Item *parent = dynamic_cast<Item *> (get_parent (X_AXIS));
>  return parent ? parent->get_column () : 0;
> }
> 
> The call to get_parent above does return 0x0.

Yes, but not immediately for the Item in question (namely the one in
frame #2):

#0  0x000000000041a5f0 in Paper_column::get_rank (this=0x0) at 
paper-column.hh:47
47      paper-column.hh: No such file or directory.
        in paper-column.hh
(gdb) up
#1  0x00000000004ff5f4 in Item::spanned_rank_interval (this=0x20d20d900) at 
item.cc:199
199       int c = get_column ()->get_rank ();
(gdb) 
#2  0x0000000000437f7b in Axis_group_interface::adjacent_pure_heights 
(smob=0x2142a0a20) at axis-group-interface.cc:197
197           Interval_t<int> rank_span = g->spanned_rank_interval ();
(gdb) print g
$1 = (Grob *) 0x20d20d900
(gdb) print g->dim_cache_[0].parent_
$2 = (Grob *) 0x20d219a00
(gdb) print g->dim_cache_[0].parent_->dim_cache_[0].parent_
$3 = (Grob *) 0x20590b700
(gdb) print 
g->dim_cache_[0].parent_->dim_cache_[0].parent_->dim_cache_[0].parent_
$4 = (Grob *) 0x202c11200
(gdb) print 
g->dim_cache_[0].parent_->dim_cache_[0].parent_->dim_cache_[0].parent_->dim_cache_[0].parent_
$5 = (Grob *) 0x0

Honestly, I'm not very comfortable with the LIlyPond internals; I
was several years ago, but after not doing much with the sources
for 5 years or even longer (I don't remember), this is all black
magic for me (except on the very low-level C++ level).

Maybe some day I find more time to work on it, and even to continue
my work on the Back partitas and the Bach/Busoni Chaconne I abandoned
some years ago ;-)

Ciao,
        Kili


_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to