From: Piers Titus van der Torren Date: Mon, 17 Oct 2011 14:24:47 +0000 (+0200) Subject: Adds checks for ledger_positions; issue 1972 X-Git-Tag: release/2.15.16-1~8 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=93078545cd6183eb6394dcf7e9a2a55e3e72d5dc;p=lilypond.git Adds checks for ledger_positions; issue 1972 --- diff --git a/lily/staff-symbol.cc b/lily/staff-symbol.cc index 80be13b993..6435554910 100644 --- a/lily/staff-symbol.cc +++ b/lily/staff-symbol.cc @@ -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);