]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/stem.cc
Issue 2626: add on-page for usage in \on-the-fly
[lilypond.git] / lily / stem.cc
index 4b5a68510b2752cc43fe4a160e40add3d4673c0b..e7ee68b220ea36b7943d3ce503c92db54fbc6d83 100644 (file)
@@ -689,7 +689,7 @@ Interval
 Stem::internal_height (Grob *me, bool calc_beam)
 {
   Grob *beam = get_beam (me);
-  if (!is_valid_stem (me) && ! beam)
+  if (!is_valid_stem (me) && !beam)
     return Interval ();
 
   Direction dir = get_grob_direction (me);
@@ -700,6 +700,13 @@ Stem::internal_height (Grob *me, bool calc_beam)
       (void) beam->get_property ("quantized-positions");
     }
 
+  /*
+    If there is a beam but no stem, slope calculations depend on this
+    routine to return where the stem end /would/ be.
+  */
+  if (!beam && !unsmob_stencil (me->get_property ("stencil")))
+    return Interval ();
+
   Real y1 = robust_scm2double ((calc_beam
                                 ? me->get_property ("stem-begin-position")
                                 : me->get_pure_property ("stem-begin-position", 0, INT_MAX)),