]> git.donarmstrong.com Git - lilypond.git/commitdiff
trem fix
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 8 Jun 2002 01:16:42 +0000 (01:16 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 8 Jun 2002 01:16:42 +0000 (01:16 +0000)
lily/beam.cc

index 740c0ac532d28ab02df8268b3f199745ee6e1e5e..2e223aaecc0a235052567044b9351b83b93c93fc 100644 (file)
@@ -835,7 +835,12 @@ Beam::shift_region_to_valid (SCM grob)
   for (int i=1; i < stems.size (); i++)
     common = stems[i]->common_refpoint (common, X_AXIS);
 
-  Real x0 = first_visible_stem (me)->relative_coordinate (common, X_AXIS);
+  Grob *fvs = first_visible_stem (me);
+
+  if (!fvs)
+    return SCM_UNSPECIFIED;
+    
+  Real x0 =fvs->relative_coordinate (common, X_AXIS);
   for (int i=0; i < stems.size (); i++)
     {
       Item* s = stems[i];
@@ -843,7 +848,12 @@ Beam::shift_region_to_valid (SCM grob)
       Real x = s->relative_coordinate (common, X_AXIS) - x0;
       x_posns.push (x);
     }
-  Real dx = last_visible_stem (me)->relative_coordinate (common, X_AXIS) - x0;
+
+  Grob *lvs = last_visible_stem (me);
+  if (!lvs)
+    return SCM_UNSPECIFIED;
+  
+  Real dx = lvs->relative_coordinate (common, X_AXIS) - x0;
 
   Interval pos = ly_scm2interval ( me->get_grob_property ("positions"));
   Real dy = pos.delta();