Robin Gareus
3b9a253a84
This fixes a crash when deleting routes, while there are still automation events queued for the route. Specifically, SoloControl has a reference Soloable& _soloable; which points to the parent route. A rt-event can still hold a valid shared pointer to the SoloControl, even if the route is destroyed. Calling SoloControl::actually_set_value is fine (the control still exists due to the shared ptr), but then checking the parent route: ``` if (_soloable.is_safe() || !can_solo()) ``` accesses the already deleted route, which causes a crash. The solution implemented here is to not bind a shared_ptr to the realtime event. However, since deletion of the route happens in the main UI thread, there may or may not still be a race. |
||
---|---|---|
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