diff --git a/gtk2_ardour/pianoroll_window.cc b/gtk2_ardour/pianoroll_window.cc index cbf81ab78b..45ee60ecbb 100644 --- a/gtk2_ardour/pianoroll_window.cc +++ b/gtk2_ardour/pianoroll_window.cc @@ -32,6 +32,7 @@ using namespace ARDOUR; PianorollWindow::PianorollWindow (std::string const & name, Session& s) : ArdourWindow (string_compose ("%1 - %2", PROGRAM_NAME, name)) , pianoroll (new Pianoroll (name)) + , region_editor (nullptr) { pianoroll->set_session (&s); pianoroll->viewport().set_size_request (600, 120); @@ -43,6 +44,7 @@ PianorollWindow::PianorollWindow (std::string const & name, Session& s) PianorollWindow::~PianorollWindow () { delete pianoroll; + delete region_editor; } void @@ -51,6 +53,7 @@ PianorollWindow::set (std::shared_ptr track, std::shared_ptrset_track (track); pianoroll->set_region (region); + delete region_editor; region_editor = new RegionEditor (pianoroll->session(), region); hpacker.pack_start (*region_editor, false, false); hpacker.pack_start (pianoroll->contents(), true, true);