From: David Kastrup Date: Sat, 4 Jun 2016 15:41:05 +0000 (+0200) Subject: Issue 4997/3: Use Preinit in Music X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=commitdiff_plain;h=402fcf51e5a567209b0293ef4e387315a8c5c2a4;p=lilypond.git Issue 4997/3: Use Preinit in Music --- 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;