summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-03-15 15:31:41 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-03-15 15:35:11 -0400
commit08f9a439a7d7afae35f2345973ef5ebcd552eb6a (patch)
tree2a13c38443defc330d8f26198ed9d5a85460f17c /gtk2_ardour
parent71c6cbecdacd6355a9f72baa587289c47cb96a7f (diff)
fix segfaults/crashes when quitting under valgrind
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/ardour_ui.cc20
-rw-r--r--gtk2_ardour/ardour_ui_dialogs.cc4
2 files changed, 12 insertions, 12 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 5f2e8738f6..86a01e26aa 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -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 ();
}
diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc
index 64037e843e..b112418474 100644
--- a/gtk2_ardour/ardour_ui_dialogs.cc
+++ b/gtk2_ardour/ardour_ui_dialogs.cc
@@ -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);
}