diff --git a/gtk2_ardour/grid_lines.cc b/gtk2_ardour/grid_lines.cc index 7716f9a08b..7a1367c6be 100644 --- a/gtk2_ardour/grid_lines.cc +++ b/gtk2_ardour/grid_lines.cc @@ -39,6 +39,7 @@ GridLines::GridLines (EditingContext& ec, Container* group, double) GridLines::~GridLines () { + lines.parent()->remove (&lines); } void diff --git a/gtk2_ardour/pianoroll.cc b/gtk2_ardour/pianoroll.cc index 76719b80e4..66ffb5c188 100644 --- a/gtk2_ardour/pianoroll.cc +++ b/gtk2_ardour/pianoroll.cc @@ -96,8 +96,11 @@ Pianoroll::Pianoroll (std::string const & name) Pianoroll::~Pianoroll () { delete own_bindings; + drop_grid (); // unparent gridlines before deleting _canvas_viewport ActionManager::drop_action_group (editor_actions); ActionManager::drop_action_group (snap_actions); + delete view; + delete _canvas_viewport; } void