]> git.donarmstrong.com Git - lilypond.git/commitdiff
FiguredBass: Don't continue spanner on unequal figures (e.g. diff. accidentals)
authorReinhold Kainhofer <reinhold@kainhofer.com>
Thu, 8 Oct 2009 11:17:02 +0000 (13:17 +0200)
committerReinhold Kainhofer <reinhold@kainhofer.com>
Mon, 22 Feb 2010 15:27:51 +0000 (16:27 +0100)
lily/figured-bass-engraver.cc

index db4d5a3bfd06b89ff33ba195c4623116d0cb6f80..a7afdf32b4a830e029d08f2bff2ab98a34957951 100644 (file)
@@ -202,13 +202,18 @@ Figured_bass_engraver::listen_bass_figure (Stream_event *ev)
              && groups_[i].group_is_equal_to (ev))
            {
              groups_[i].current_event_ = ev;
-             groups_[i].force_no_continuation_
-               = to_boolean (ev->get_property ("no-continuation"));
-             continuation_ = true;
-             return; 
+             bool no_cont = to_boolean (ev->get_property ("no-continuation"));
+             groups_[i].force_no_continuation_ = no_cont;
+             // Exit only if this is a real continuation. If it is broken,
+             // continue just as usual (otherwise the figure will still be
+             // vertically aligned with the previous figure!)
+             if (!no_cont) {
+               continuation_ = true;
+               return;
+             }
            }
        }
-    }  
+    }
   new_events_.push_back (ev);
 }