From: Joe Neeman Date: Sat, 7 Jul 2007 02:14:44 +0000 (+1000) Subject: try to avoid NaNs and infs in alignment and pure-height X-Git-Tag: release/2.11.28-1~26 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=cbf152f9dbdadd9af8b4c3bbbba0e5e0ce5b0fec;p=lilypond.git try to avoid NaNs and infs in alignment and pure-height --- diff --git a/lily/align-interface.cc b/lily/align-interface.cc index 4d885b7a38..db71c32b8f 100644 --- a/lily/align-interface.cc +++ b/lily/align-interface.cc @@ -221,6 +221,9 @@ Align_interface::get_extents_aligned_translates (Grob *me, dy = down_skyline.distance (skylines[j][-stacking_dir]); } + if (isinf (dy)) /* if the skyline is empty, maybe max_height is infinity_f */ + dy = 0.0; + dy = max (0.0, dy + padding + extra_space / elems.size ()); down_skyline.raise (-stacking_dir * dy); where += stacking_dir * dy; diff --git a/lily/grob.cc b/lily/grob.cc index 495fe2437f..5962b9ff66 100644 --- a/lily/grob.cc +++ b/lily/grob.cc @@ -433,7 +433,8 @@ Grob::pure_height (Grob *refp, int start, int end) if (!iv.is_empty () && is_number_pair (min_ext)) iv.unite (ly_scm2interval (min_ext)); - iv.translate (offset); + if (!iv.is_empty ()) + iv.translate (offset); return iv; }