This reverts commit 0ddc050555.
It is not clear what this commit was really trying to do - when canvas items
are deleted they are removed from their parent, so just *not* deleting them
should not by itself fix an issue.
It turns out that not deleting the canvas item means that it remains in the
canvas scene graph to deliver events to, at which time it references its
now-deleted owner object, leading to a crash.
We need to keep an eye open for crashes resembling the double-free that this
reverted commit claimed to fix.
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
Copyright-holder and year information is extracted from git log.
git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
Fixes bug #6179. Top vs. bottom seems pretty arbitrary to me, and this solves
the obscuring issue (which is quite common since there are often PC events at
the start of MIDI files), so bottom it is.
Unfortunately we store the state of models as simply model, so if there's ever
duplicate model names, we're somewhat screwed, but this makes the (previously
unmanageably huge) menu usable, while retaining the "model name as global
identifier" state unmodified.
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.