From 14734422042a90fe66d9f83bc81ed9c0a03ff5bb Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 23 Jan 2015 02:16:21 +0100 Subject: fix crash at exit if location-ui was used LocationEditRow members are destroyed after ~LocationUI() destroys the clock_group. -> segfault in ~LocationEditRow() --- gtk2_ardour/location_ui.cc | 4 +++- gtk2_ardour/location_ui.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/location_ui.cc b/gtk2_ardour/location_ui.cc index 84529d167f..f56006e5ce 100644 --- a/gtk2_ardour/location_ui.cc +++ b/gtk2_ardour/location_ui.cc @@ -839,7 +839,9 @@ LocationUI::LocationUI () LocationUI::~LocationUI() { - delete _clock_group; + loop_edit_row.unset_clock_group (); + punch_edit_row.unset_clock_group (); + delete _clock_group; } gint diff --git a/gtk2_ardour/location_ui.h b/gtk2_ardour/location_ui.h index 76dca563fc..b24865b6cc 100644 --- a/gtk2_ardour/location_ui.h +++ b/gtk2_ardour/location_ui.h @@ -58,6 +58,7 @@ class LocationEditRow : public Gtk::HBox, public ARDOUR::SessionHandlePtr void set_number (int); void focus_name(); void set_clock_group (ClockGroup&); + void unset_clock_group () { _clock_group = 0; } sigc::signal remove_requested; sigc::signal redraw_ranges; -- cgit v1.2.3