lily/tuplet-engraver.cc
do not create a TupletBracket if it would have no bounds
lily/tuplet-bracket.cc
defensive pointer check
{
Spanner *me = dynamic_cast<Spanner *> (me_grob);
- if (me->get_bound (LEFT)->break_status_dir ()
- || me->get_bound (RIGHT)->break_status_dir ())
+ Item *left = me->get_bound (LEFT);
+ Item *right = me->get_bound (RIGHT);
+ if (!left || left->break_status_dir ()
+ || !right || right->break_status_dir ())
return 0;
Drul_array<Grob *> stems (Note_column::get_stem (cols[0]),
tuplets_.pop_back ();
}
else if (!to_boolean (get_property ("skipTypesetting")))
- ev->origin ()->warning (_ ("No tuplet to end"));
+ ev->origin ()->debug_output (_ ("No tuplet to end"));
}
else
ev->origin ()->programming_error ("direction tuplet-span-event_ invalid.");
stopped_tuplets_[i].bracket_->get_bound (LEFT));
}
else
- programming_error ("stopped tuplet bracket has neither left nor right bound");
+ {
+ warning ("omitting tuplet bracket with neither left nor right bound");
+ continue;
+ }
}
// todo: scrap last_tuplets_, use stopped_tuplets_ only.
// clear stopped_tuplets_ at start_translation_timestep