- }
- /*
- some kind of mismatch, eg. a note column, that is behind a
- linebreak.
- */
- if (!it)
- continue;
-
- Item *it_col = it->get_column ();
- if (d == RIGHT && right_col != it_col)
- continue;
-
- if (Separation_item::has_interface (it))
- {
- extents[d].unite (Separation_item::width (it));
- continue;
- }
-
- if (d == LEFT)
- {
- SCM r = it->get_property ("rest");
- Grob * g = unsmob_grob (r);
- if (!g)
- g = Note_column::first_head (it);
-
- /*
- Ugh. If Stem is switched off, we don't know what the
- first note head will be.
- */
- if (g)
- left_head_wid = g->extent (it_col, X_AXIS);
- }
-
- extents[d].unite (it->extent (it_col, X_AXIS));
- if (d == RIGHT)
- {
- Grob * accs = Note_column::accidentals (it);
- if (!accs)
- accs = Note_column::accidentals (it->get_parent (X_AXIS));
-
- if (accs)
- {
- Interval v =
- Accidental_placement::get_relevant_accidental_extent (accs, it_col, me);
-
- extents[d].unite (v);
- }
- }
- }