From cb8e1e15e5306e6fa7d5ee6efcdcad689ad88cb9 Mon Sep 17 00:00:00 2001 From: Keith OHara Date: Tue, 22 Nov 2011 21:47:41 -0800 Subject: [PATCH] Repair dangerous loop from commit 7ee874c5 --- lily/beaming-pattern.cc | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/lily/beaming-pattern.cc b/lily/beaming-pattern.cc index b9d6ad059b..ada6770a5c 100644 --- a/lily/beaming-pattern.cc +++ b/lily/beaming-pattern.cc @@ -121,11 +121,11 @@ Beaming_pattern::de_grace () void Beaming_pattern::beamify (Beaming_options const &options) { - unbeam_invisible_stems (); - if (infos_.size () <= 1) return; + unbeam_invisible_stems (); + if (infos_[0].start_moment_.grace_part_) de_grace (); @@ -217,13 +217,14 @@ Beaming_pattern::unbeam_invisible_stems () infos_[i].beam_count_drul_[RIGHT] = b; } - for (vsize i = infos_.size () - 1; i--;) - if (infos_[i].invisible_) - { - int b = min (infos_[i].count (LEFT), infos_[i + 1].count (LEFT)); - infos_[i].beam_count_drul_[LEFT] = b; - infos_[i].beam_count_drul_[RIGHT] = b; - } + if (infos_.size () > 1) + for (vsize i = infos_.size () - 1; i--;) + if (infos_[i].invisible_) + { + int b = min (infos_[i].count (LEFT), infos_[i + 1].count (LEFT)); + infos_[i].beam_count_drul_[LEFT] = b; + infos_[i].beam_count_drul_[RIGHT] = b; + } } void -- 2.39.2