Files
ardour/libs
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
..
2022-12-15 00:30:18 +01:00
2022-08-03 12:10:01 -06:00
2022-12-11 11:54:03 -05:00
2022-08-03 12:10:01 -06:00
2022-09-21 19:09:55 -06:00
2021-03-01 22:14:38 +01:00
2022-11-15 03:24:19 +01:00