#include "hara-kiri-group-spanner.hh"
+#include "pointer-group-interface.hh"
#include "axis-group-interface.hh"
#include "spanner.hh"
#include "warn.hh"
Hara_kiri_group_spanner::consider_suicide (Grob *me)
{
Spanner *sp = dynamic_cast<Spanner *> (me);
- SCM worth = me->get_property ("items-worth-living");
- if (scm_is_pair (worth))
+
+ extract_grob_set (me, "items-worth-living", worth);
+ if (worth.size ())
return;
if (!to_boolean (me->get_property ("remove-first"))
&& broken_spanner_index (sp) == 0)
- {
- return;
- }
+ return;
- Link_array<Grob> childs = Axis_group_interface::get_children (me);
+ Link_array<Grob> childs;
+ Axis_group_interface::get_children (me, &childs);
for (int i = 0; i < childs.size (); i++)
childs[i]->suicide ();
{
Grob *me = unsmob_grob (element_smob);
(void) axis;
-
+
assert (scm_to_int (axis) == Y_AXIS);
consider_suicide (me);
- return scm_make_real (0.0);
+ return scm_from_double (0.0);
}
MAKE_SCHEME_CALLBACK (Hara_kiri_group_spanner, force_hara_kiri_in_parent_callback, 2);
Axis a = (Axis) scm_to_int (axis);
assert (a == Y_AXIS);
force_hara_kiri_callback (daughter->get_parent (a)->self_scm (), axis);
- return scm_make_real (0.0);
+ return scm_from_double (0.0);
}
void