-{
-  Grob *st = Staff_symbol_referencer::get_staff_symbol (me);
-  SCM line_positions = st->get_property ("line-positions");
+{
+  Grob *st = 0;
+  SCM line_positions = me->get_property ("line-positions");
+  if ((st = Staff_symbol_referencer::get_staff_symbol (me)))
+    line_positions = st->get_property ("line-positions");
+  else
+    st = me;
+

I don't understand the original code. 'me' should already be the
staff-symbol, so this should just do

  me->get_property("line-positions")

Of course, it's the responsibility of the caller to make sure that
'me' is not null.


On Sat, Jul 26, 2008 at 7:56 PM, Neil Puttock <[EMAIL PROTECTED]> wrote:
> The leger line fix (4146a0e0549c424bc129fc985733a36801a6e6a2) turned
> out to have a basic flaw in that it messed up dot and tie positions
> for standard staves. I pushed a fix for this
> (b5ba6d4fdb551ebd0dd55140696f4a7e19e82fdb), but my coding has turned
> out to be a bit iffy, since it causes a crash when the
> Staff_symbol_engraver is removed and notes have dots or ties.

-- 
Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen


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

Reply via email to