]> git.donarmstrong.com Git - lilypond.git/commitdiff
Adds checks for ledger_positions; issue 1972
authorPiers Titus van der Torren <pierstitus@gmail.com>
Mon, 17 Oct 2011 14:24:47 +0000 (16:24 +0200)
committerKeith OHara <k-ohara5a5a@oco.net>
Wed, 26 Oct 2011 06:03:26 +0000 (23:03 -0700)
lily/staff-symbol.cc

index 80be13b993a42d9dccdbb71debc81e3e0708b9d0..6435554910fd77f15017883070bfd7a7575efa1b 100644 (file)
@@ -156,6 +156,7 @@ Staff_symbol::ledger_positions (Grob *me, int pos)
   Direction dir = (Direction)sign (pos - nearest_line);
 
   if (scm_is_pair (ledger_positions))
+    // custom ledger line positions
     {
       Real min_pos = HUGE_VAL;
       Real max_pos = -HUGE_VAL;
@@ -184,6 +185,8 @@ Staff_symbol::ledger_positions (Grob *me, int pos)
       int n = (int) floor ((ledger_fill[DOWN] - min_pos) / cycle);
       Real current;
       SCM s = scm_cdr (ledger_positions);
+      if (!scm_is_pair (s) || cycle < 0.1)
+        return values;
       do
         {
           s2 = scm_car (s);
@@ -225,6 +228,7 @@ Staff_symbol::ledger_positions (Grob *me, int pos)
       while (current <= ledger_fill[UP]);
     }
   else
+    // normal ledger lines
     {
       int ledger_count = (int) floor ((abs (nearest_line - pos) + ledger_extra) / 2);
       values.resize (ledger_count);