fix segfaults/crashes when quitting under valgrind

This commit is contained in:
Paul Davis 2016-03-15 15:31:41 -04:00
parent 71c6cbecda
commit 08f9a439a7
2 changed files with 12 additions and 12 deletions

View File

@ -663,16 +663,16 @@ ARDOUR_UI::~ARDOUR_UI ()
if (getenv ("ARDOUR_RUNNING_UNDER_VALGRIND")) {
// don't bother at 'real' exit. the OS cleans up for us.
delete big_clock;
delete primary_clock;
delete secondary_clock;
delete _process_thread;
delete meterbridge;
delete luawindow;
delete editor;
delete mixer;
delete nsm;
delete gui_object_state;
delete big_clock; big_clock = 0;
delete primary_clock; primary_clock = 0;
delete secondary_clock; secondary_clock = 0;
delete _process_thread; _process_thread = 0;
delete meterbridge; meterbridge = 0;
delete luawindow; luawindow = 0;
delete editor; editor = 0;
delete mixer; mixer = 0;
delete nsm; nsm = 0;
delete gui_object_state; gui_object_state = 0;
FastMeter::flush_pattern_cache ();
PixFader::flush_pattern_cache ();
}

View File

@ -577,7 +577,7 @@ ARDOUR_UI::tabs_page_removed (Widget*, guint)
void
ARDOUR_UI::tabs_switch (GtkNotebookPage*, guint page)
{
if (page == (guint) _tabs.page_num (editor->contents())) {
if (editor && (page == (guint) _tabs.page_num (editor->contents()))) {
editor_visibility_button.set_active_state (Gtkmm2ext::ImplicitActive);
if (mixer && (mixer->tabbed() || mixer->tabbed_by_default())) {
mixer_visibility_button.set_active_state (Gtkmm2ext::Off);
@ -585,7 +585,7 @@ ARDOUR_UI::tabs_switch (GtkNotebookPage*, guint page)
if (rc_option_editor && (rc_option_editor->tabbed() || rc_option_editor->tabbed_by_default())) {
prefs_visibility_button.set_active_state (Gtkmm2ext::Off);
}
} else if (page == (guint) _tabs.page_num (mixer->contents())) {
} else if (mixer && (page == (guint) _tabs.page_num (mixer->contents()))) {
if (editor && (editor->tabbed() || editor->tabbed_by_default())) {
editor_visibility_button.set_active_state (Gtkmm2ext::Off);
}