X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fsemi-tie.cc;h=0d31a2e07388b82e1ad0627b57f10d124e8bd5d9;hb=d6bb35d94789444016eac15987b877fc59b526cf;hp=049cd029d6c40d56eb9348e81b0639bf9f70cf12;hpb=0a34e892b31530e87380bffaac0bb9cf9a1c8a91;p=lilypond.git diff --git a/lily/semi-tie.cc b/lily/semi-tie.cc index 049cd029d6..0d31a2e073 100644 --- a/lily/semi-tie.cc +++ b/lily/semi-tie.cc @@ -60,7 +60,7 @@ Semi_tie::calc_control_points (SCM smob) (void) me->get_property ("direction"); Grob *yparent = me->get_parent (Y_AXIS); - if (Semi_tie_column::has_interface (yparent)) + if (has_interface (yparent)) { /* trigger positioning. */ yparent->get_property ("positioning-done"); @@ -89,13 +89,20 @@ bool Semi_tie::less (Grob *g1, Grob *g2) { Item *i1 = dynamic_cast (g1); + if (!i1) + { + g1->programming_error ("grob is not a semi-tie"); + return false; + } + Item *i2 = dynamic_cast (g2); - if (i1 && i2) { - return get_position (i1) < get_position (i2); - } + if (!i2) + { + g2->programming_error ("grob is not a semi-tie"); + return true; + } - programming_error ("grob is not a semi-tie"); - return false; + return get_position (i1) < get_position (i2); } Item *