/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 2000--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 2000--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
for (vsize i = 0; i < elts.size (); i++)
{
if (elts[i] && elts[i]->is_live ())
+ relevant_grobs.push_back (elts[i]);
+ /*
+ TODO (mikesol): it is probably bad that we're reading prebroken
+ pieces from potentially suicided elements. This behavior
+ has been in current master since at least 2.16.
+
+ We need to fully suicide all Items, meaning that their
+ prebroken pieces should not be accessible, which means that
+ Item::handle_prebroken_dependencies should only be called
+ AFTER this list is composed. The list composition function
+ should probably not check for suicided items or NULL pointers
+ but leave that to the various methods that use it.
+ */
+ if (Item *it = dynamic_cast<Item *> (elts[i]))
{
- relevant_grobs.push_back (elts[i]);
- if (Item *it = dynamic_cast<Item *> (elts[i]))
+ for (LEFT_and_RIGHT (d))
{
- for (LEFT_and_RIGHT (d))
- {
- Item *piece = it->find_prebroken_piece (d);
- if (piece && piece->is_live ())
- relevant_grobs.push_back (piece);
- }
+ Item *piece = it->find_prebroken_piece (d);
+ if (piece && piece->is_live ())
+ relevant_grobs.push_back (piece);
}
}
}
"nonstaff-nonstaff-spacing "
"nonstaff-relatedstaff-spacing "
"nonstaff-unrelatedstaff-spacing "
- "outside-staff-placement-directive "
"pure-relevant-grobs "
"pure-relevant-items "
"pure-relevant-spanners "
"staff-grouper "
"staff-staff-spacing "
"system-Y-offset "
- "vertical-skyline-elements "
"X-common "
"Y-common "
);