13
0
Go to file
Robin Gareus 3b9a253a84 Bind weak pointers to rt_slot events
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.
2022-12-16 00:12:48 +01:00
doc
gtk2_ardour Set imported regions to be opaque by default 2022-12-14 16:10:22 +01:00
headless
libs Bind weak pointers to rt_slot events 2022-12-16 00:12:48 +01:00
luasession
msvc_extra_headers
MSVCardour3
MSVCMixbus3
MSVCvst_scan
session_utils
share Fix Lua biqaud filter parameter range 2022-12-08 18:54:20 +01:00
tools Avoid .sh file extension 2022-12-03 15:03:44 +01:00
.dir-locals.el
.gitattributes
.gitignore
ardour.1
COPYING
nutempo-todo
PACKAGER_README
README
README-GITHUB.txt
system_config
TRANSLATORS
waf
wscript Avoid .sh file extension 2022-12-03 15:03:44 +01:00

Please see the Ardour web site at https://ardour.org/ for all documentation..

For information on building ardour: 
      
     https://ardour.org/development.html