--- /dev/null
+\version "2.11.29"
+
+\header {
+ texidoc = "Slurs that depend on a cross-staff beam are not calculated until after line-breaking."
+}
+
+\paper{ ragged-right=##t }
+\score {
+ \new PianoStaff <<
+ \context Staff = rh \relative { c'8([ d) \change Staff = lh c,] }
+ \context Staff = lh { s4. }
+ >>
+}
\ No newline at end of file
#include "bezier.hh"
#include "directional-element-interface.hh"
#include "font-interface.hh"
+#include "item.hh"
#include "pointer-group-interface.hh"
#include "lookup.hh"
#include "main.hh" // DEBUG_SLUR_SCORING
extract_grob_set (me, "note-columns", cols);
extract_grob_set (me, "encompass-objects", extras);
+ for (vsize i = 0; i < cols.size (); i++)
+ {
+ if (Grob *s = Note_column::get_stem (cols[i]))
+ if (to_boolean (s->get_property ("cross-staff")))
+ return SCM_BOOL_T;
+ }
+
/* the separation items are dealt with in replace_breakable_encompass_objects
so we can ignore them here */
vector<Grob*> non_sep_extras;