summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_route_groups.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-09-11 02:32:36 +0200
committerRobin Gareus <robin@gareus.org>2014-09-11 03:04:11 +0200
commit6b3d3e2f916a714d5804688605883caadcfd9db0 (patch)
treee29c5cbfb93f783aef35e4edc86be5df35b8e04e /gtk2_ardour/editor_route_groups.cc
parentc4a7d25b34aec71ab7d594af50f7b522518e0221 (diff)
fix race-condition/segfault at exit:
suppress route-group-reorder signal when session is being destroyed.
Diffstat (limited to 'gtk2_ardour/editor_route_groups.cc')
-rw-r--r--gtk2_ardour/editor_route_groups.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_route_groups.cc b/gtk2_ardour/editor_route_groups.cc
index d85335fd42..c7a148304b 100644
--- a/gtk2_ardour/editor_route_groups.cc
+++ b/gtk2_ardour/editor_route_groups.cc
@@ -197,7 +197,7 @@ EditorRouteGroups::remove_selected ()
Glib::RefPtr<TreeSelection> selection = _display.get_selection();
TreeView::Selection::ListHandle_Path rows = selection->get_selected_rows ();
- if (rows.empty()) {
+ if (rows.empty() || _session->deletion_in_progress()) {
return;
}
@@ -582,7 +582,7 @@ EditorRouteGroups::run_new_group_dialog ()
void
EditorRouteGroups::row_deleted (Gtk::TreeModel::Path const &)
{
- if (_in_rebuild) {
+ if (_in_rebuild || !_session || _session->deletion_in_progress()) {
/* We need to ignore this in cases where we're not doing a drag-and-drop
re-order.
*/