- Direction d = LEFT;
- do {
- ordered_rests[d].sort (Note_column::shift_compare);
- } while (flip (&d) != LEFT);
-
- if (ordered_rests[UP].size () + ordered_rests[DOWN].size () < 2)
- return SCM_UNSPECIFIED;
+ Direction d = LEFT;
+ do
+ vector_sort (ordered_rests[d], Note_column::shift_compare);
+ while (flip (&d) != LEFT)
+ ;
+
+ do
+ {
+ if (ordered_rests[d].size () < 1)
+ {
+ if (ordered_rests[-d].size () > 1)
+ ordered_rests[-d][0]->warning (_ ("too many colliding rests"));
+
+ return SCM_UNSPECIFIED;
+ }
+ }
+ while (flip (&d) != LEFT);