The Flagship
http://ardour.org
Robin Gareus
58641d2a35
When loading the state of a Route fails (here "unknown enumerator SurroundMaster in PBD::EnumWriter"), the routes which have already been loaded are not added to the Session's routelist. Already existing routes that have an InternalSend or have a circular reference: The Send's `_send_from` holds a shared pointer `<Route>(shared_from_this())` to the Route, and the Route's ProcessorList contains the InternalSend. This leads to various "SessionHandleRef exists across session deletion" of IO, Ports, GraphNode, Graph, etc which causes issues when loading another session. Session::destroy() cleans calls drop_references for each route in the RouteList, which breaks the circular dependency (InternalSend drops reference to Route). But here the RouteList is empty. Crash fixed: * Load a session that fails to load a Route (here a session created on with the vapor branch, on master) * Then load another session without restarting Ardour. |
||
---|---|---|
doc | ||
gtk2_ardour | ||
headless | ||
libs | ||
luasession | ||
msvc_extra_headers | ||
MSVCardour3 | ||
MSVCMixbus3 | ||
MSVCvst_scan | ||
session_utils | ||
share | ||
tools | ||
.dir-locals.el | ||
.gitattributes | ||
.gitignore | ||
ardour.1 | ||
COPYING | ||
nutempo-todo | ||
PACKAGER_README | ||
README | ||
README-GITHUB.txt | ||
system_config | ||
TRANSLATORS | ||
waf | ||
wscript |
Please see the Ardour web site at https://ardour.org/ for all documentation.. For information on building ardour: https://ardour.org/development.html