]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/align-interface.cc
Thinko: compare abs of both positions.
[lilypond.git] / lily / align-interface.cc
index 6011a79c52929900c28a6c3e5f90c8666c986bc9..db71c32b8f2baa8f5adf9d858e5f747efed11552 100644 (file)
@@ -123,7 +123,9 @@ get_skylines (Grob *me,
         to some absolute reference point */
       if (!pure)
        {
-         Skyline_pair *skys = Skyline_pair::unsmob (g->get_property ("skylines"));
+         Skyline_pair *skys = Skyline_pair::unsmob (g->get_property (a == Y_AXIS
+                                                                     ? "vertical-skylines"
+                                                                     : "horizontal-skylines"));
          if (skys)
            skylines = *skys;
 
@@ -186,9 +188,7 @@ Align_interface::get_extents_aligned_translates (Grob *me,
        line_break_details = me_spanner->get_bound (LEFT)->get_property ("line-break-system-details");
 
       if (!me->get_system () && !pure)
-       me->warning (_ ("vertical alignment called before line-breaking.\n"
-                       "Only do cross-staff spanners with PianoStaff."));
-
+       me->programming_error ("vertical alignment called before line-breaking");
     }
   
   Direction stacking_dir = robust_scm2dir (me->get_property ("stacking-dir"),
@@ -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;