From 433f18049b08ebfd486fd33e5e7696b2ce5ac3fb Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 3 May 2016 03:04:46 +0200 Subject: [PATCH] skip updating editor-route display when closing the session --- gtk2_ardour/editor_routes.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc index 8d35a4a6a8..39847c9ffc 100644 --- a/gtk2_ardour/editor_routes.cc +++ b/gtk2_ardour/editor_routes.cc @@ -570,6 +570,9 @@ EditorRoutes::redisplay () // model deprecated g_atomic_int_exchange_and_add(, 1) g_atomic_int_inc(const_cast(&_redisplay_active)); if (!g_atomic_int_compare_and_exchange (const_cast(&_redisplay_active), 1, 1)) { + /* recursive re-display can happen if redisplay shows/hides a TrackView + * which has children and their display status changes as result. + */ return; } @@ -584,6 +587,9 @@ EditorRoutes::redisplay () void EditorRoutes::row_deleted (Gtk::TreeModel::Path const &) { + if (!_session || _session->deletion_in_progress()) { + return; + } /* this happens as the second step of a DnD within the treeview, and * when a route is actually removed. we don't differentiate between * the two cases.