From 402fcf51e5a567209b0293ef4e387315a8c5c2a4 Mon Sep 17 00:00:00 2001 From: David Kastrup Date: Sat, 4 Jun 2016 17:41:05 +0200 Subject: [PATCH] Issue 4997/3: Use Preinit in Music --- lily/include/music.hh | 3 ++- lily/music.cc | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lily/include/music.hh b/lily/include/music.hh index c904dc3347..32ca55babc 100644 --- a/lily/include/music.hh +++ b/lily/include/music.hh @@ -27,9 +27,10 @@ #define is_mus_type(x) internal_is_music_type (ly_symbol2scm (x)) -class Music : public Prob +class Music : public Preinit, public Prob { public: + void pre_init (); Music (SCM init); Music (Music const &m); VIRTUAL_COPY_CONSTRUCTOR (Music, Music); diff --git a/lily/music.cc b/lily/music.cc index bbf7fe4f58..994d685ed2 100644 --- a/lily/music.cc +++ b/lily/music.cc @@ -45,12 +45,16 @@ Music::internal_is_music_type (SCM k) const return scm_is_true (scm_c_memq (k, ifs)); } -Music::Music (SCM init) - : Prob (ly_symbol2scm ("Music"), init) +void +Music::pre_init () { length_callback_ = SCM_EOL; start_callback_ = SCM_EOL; +} +Music::Music (SCM init) + : Prob (ly_symbol2scm ("Music"), init) +{ length_callback_ = get_property ("length-callback"); if (!ly_is_procedure (length_callback_)) length_callback_ = duration_length_callback_proc; -- 2.39.2