X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftuplet-bracket.cc;h=17e1194de80762822da92ed5e7d8767bc6a8a7d0;hb=refs%2Ftags%2Frelease%2F2.19.31-1;hp=a1886620be8d59a135d154a372b4a556e95e9742;hpb=0c14539bc83d6bb405141b6f21430b33d1e8fcf0;p=lilypond.git diff --git a/lily/tuplet-bracket.cc b/lily/tuplet-bracket.cc index a1886620be..17e1194de8 100644 --- a/lily/tuplet-bracket.cc +++ b/lily/tuplet-bracket.cc @@ -64,7 +64,7 @@ get_x_bound_item (Grob *me_grob, Direction hdir, Direction my_dir) { Spanner *me = dynamic_cast (me_grob); Item *g = me->get_bound (hdir); - if (Note_column::has_interface (g) + if (has_interface (g) && Note_column::get_stem (g) && Note_column::dir (g) == my_dir) g = Note_column::get_stem (g); @@ -634,8 +634,11 @@ Tuplet_bracket::calc_position_and_height (Grob *me_grob, Real *offset, Real *dy) // Check for number-on-bracket collisions Grob *number = unsmob (tuplets[i]->get_object ("tuplet-number")); if (number) - points.push_back (Offset (number->extent (commonx, X_AXIS).center () - x0, - number->extent (commony, Y_AXIS)[dir])); + { + Interval x_ext = robust_relative_extent (number, commonx, X_AXIS); + Interval y_ext = robust_relative_extent (number, commony, Y_AXIS); + points.push_back (Offset (x_ext.center () - x0, y_ext[dir])); + } } if (to_boolean (me->get_property ("avoid-scripts")) @@ -654,8 +657,10 @@ Tuplet_bracket::calc_position_and_height (Grob *me_grob, Real *offset, Real *dy) if (unsmob (scripts[i]->get_object ("slur"))) continue; - Interval script_x (scripts[i]->extent (commonx, X_AXIS)); - Interval script_y (scripts[i]->extent (commony, Y_AXIS)); + Interval script_x + = robust_relative_extent (scripts[i], commonx, X_AXIS); + Interval script_y + = robust_relative_extent (scripts[i], commony, Y_AXIS); points.push_back (Offset (script_x.center () - x0, script_y[dir]));