summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-06-30 12:31:01 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2014-06-30 13:58:46 -0400
commit416abf7f1c26246cc2fbc2ff66159a690ac92d6f (patch)
tree11c62e2bc523521835878d71b30a16b8e0efd08a
parent156f01cda64509153496622d8240eb1837cd35ce (diff)
ensure that Editor::entered_track is reset during session deletion to avoid a crash when we explicitly unset it elsewhere
-rw-r--r--gtk2_ardour/editor.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index ea586405d8..042d03fa57 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -4874,6 +4874,10 @@ Editor::add_routes (RouteList& routes)
void
Editor::timeaxisview_deleted (TimeAxisView *tv)
{
+ if (tv == entered_track) {
+ entered_track = 0;
+ }
+
if (_session && _session->deletion_in_progress()) {
/* the situation is under control */
return;
@@ -4885,10 +4889,6 @@ Editor::timeaxisview_deleted (TimeAxisView *tv)
_routes->route_removed (tv);
- if (tv == entered_track) {
- entered_track = 0;
- }
-
TimeAxisView::Children c = tv->get_child_list ();
for (TimeAxisView::Children::const_iterator i = c.begin(); i != c.end(); ++i) {
if (entered_track == i->get()) {