X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrob-closure.cc;h=124d1437932c034f7fa5e2ba1dd5195585dac6ad;hb=53ed6257ae65d5a12b45da9fce930267ed12db48;hp=5e4035f7e898f343b0b22469ec8d3bd03309ea63;hpb=73d087a6589038ac21efe802fe6d51cafa411749;p=lilypond.git diff --git a/lily/grob-closure.cc b/lily/grob-closure.cc index 5e4035f7e8..124d143793 100644 --- a/lily/grob-closure.cc +++ b/lily/grob-closure.cc @@ -67,9 +67,9 @@ add_offset_callback (Grob *g, SCM proc, Axis a) */ void -chain_offset_callback (Grob *g, SCM proc, Axis a) +chain_callback (Grob *g, SCM proc, SCM sym) { - SCM data = g->get_property_data (axis_offset_symbol (a)); + SCM data = g->get_property_data (sym); if (ly_is_procedure (data)) data = ly_make_simple_closure (scm_list_1 (data)); @@ -80,13 +80,19 @@ chain_offset_callback (Grob *g, SCM proc, Axis a) Data may be nonnumber. In that case, it is assumed to be undefined. */ - + data = SCM_UNDEFINED; SCM expr = scm_list_2 (proc, data); - g->set_property (axis_offset_symbol (a), + g->set_property (sym, // twice: one as a wrapper for grob property routines, // once for the actual delayed binding. ly_make_simple_closure (ly_make_simple_closure (expr))); } + +void +chain_offset_callback (Grob *g, SCM proc, Axis a) +{ + chain_callback (g, proc, axis_offset_symbol (a)); +}