From 83719fba1ab22db0aad85104c6afb7538c6bd77b Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 29 Jan 2022 05:06:57 +0100 Subject: [PATCH] Fix crash when removing Routes and VCA VCATimeAxisView::self_delete () resets _vca and queues delete_when_idle. From now on STAV::strippable () will return 0. Editor::idle_remove_tracks() returns, and before the VCATimeAxisView is destroyed. Editor::redisplay_track_views() may be called. The VCATimeAxisView still exists at this point and is in Editor::track_views, but has no valid stripable. This causes a crash in TrackViewStripableSorter which depends on STAV::stripable(); --- gtk2_ardour/vca_time_axis.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk2_ardour/vca_time_axis.cc b/gtk2_ardour/vca_time_axis.cc index 754a8b4508..ce221047cb 100644 --- a/gtk2_ardour/vca_time_axis.cc +++ b/gtk2_ardour/vca_time_axis.cc @@ -129,8 +129,6 @@ VCATimeAxisView::~VCATimeAxisView () void VCATimeAxisView::self_delete () { - /* reset reference immediately rather than deferring to idle */ - _vca.reset (); delete_when_idle (this); }