]> git.donarmstrong.com Git - lilypond.git/commit
Issue 5024: Rework the Preinit framework into something simpler
authorDavid Kastrup <dak@gnu.org>
Sun, 1 Jan 2017 09:14:14 +0000 (10:14 +0100)
committerDavid Kastrup <dak@gnu.org>
Sun, 8 Jan 2017 15:17:59 +0000 (16:17 +0100)
commit6786ba7b5cd73f94eec0a49fd68d0e6d9d283437
treebad2d46d991272e93845bd5e8f92afaf308c519d
parentca2a46da10e1f627b68e7243958749b8ec007f43
Issue 5024: Rework the Preinit framework into something simpler

The previous introduction of the Preinit class had to work with
uninitialized data members in a state before construction.

Particularly for data structures like vector classes, this
was quite awkward.  Moving such structures into a separate
class initialized before the smobifying base class fixes
this deficiency and makes the behavior much more reliable,
at the cost of making the class hierarchy a bit more nested.
17 files changed:
lily/engraver-group.cc
lily/global-context.cc
lily/include/engraver-group.hh
lily/include/global-context.hh
lily/include/modified-font-metric.hh
lily/include/music.hh
lily/include/open-type-font.hh
lily/include/pango-font.hh
lily/include/scheme-engraver.hh
lily/include/smobs.hh
lily/include/spanner.hh
lily/modified-font-metric.cc
lily/music.cc
lily/open-type-font.cc
lily/pango-font.cc
lily/scheme-engraver.cc
lily/spanner.cc