From cbf152f9dbdadd9af8b4c3bbbba0e5e0ce5b0fec Mon Sep 17 00:00:00 2001 From: Joe Neeman Date: Sat, 7 Jul 2007 12:14:44 +1000 Subject: [PATCH] try to avoid NaNs and infs in alignment and pure-height --- lily/align-interface.cc | 3 +++ lily/grob.cc | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) 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; } -- 2.39.5