summaryrefslogtreecommitdiff
path: root/gtk2_ardour/time_axis_view.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-08-24 18:42:51 +0200
committerRobin Gareus <robin@gareus.org>2019-08-24 18:42:51 +0200
commit1f05baa88163696052359552469a4a88be361912 (patch)
tree49a57eea03d03f20d8da0a7a5d06a6649d12797c /gtk2_ardour/time_axis_view.cc
parent7859340191a93c1f36b6dc9b513fa7c70a94cc1b (diff)
Tweak deletion, emit CatchDeletion() only once
Parent class d'tor runs after derived class d'tor. By the time ~TimeAxisView() is called, the actual object has already been deleted and dyanamic_cast<RouteTimeAxisView*> or dynamic_cast<AutomationTimeAxisView*> will fail. CatchDeletion() needs to be emitted from the actual d'tor of the object. There are currently three non-virtual TAVs: * RouteTimeAxisView * AutomationTimeAxisView * VCATimeAxisView The first two already directly emit CatchDeletion(), there's no need to call it again from ~TimeAxisView().
Diffstat (limited to 'gtk2_ardour/time_axis_view.cc')
-rw-r--r--gtk2_ardour/time_axis_view.cc2
1 files changed, 0 insertions, 2 deletions
diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc
index 7fde1b3826..c216ea43a1 100644
--- a/gtk2_ardour/time_axis_view.cc
+++ b/gtk2_ardour/time_axis_view.cc
@@ -234,8 +234,6 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
TimeAxisView::~TimeAxisView()
{
- CatchDeletion (this);
-
in_destructor = true;
for (list<GhostRegion*>::iterator i = ghosts.begin(); i != ghosts.end(); ++i) {