summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/ardour_ui.cc8
-rw-r--r--gtk2_ardour/startup.h2
2 files changed, 5 insertions, 5 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc
index 9731501474..f82808dbff 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -526,8 +526,8 @@ ARDOUR_UI::save_ardour_state ()
XMLNode* node = new XMLNode (keyboard->get_state());
Config->add_extra_xml (*node);
Config->add_extra_xml (get_transport_controllable_state());
- if (_startup && _startup->engine_control().was_used()) {
- Config->add_extra_xml (_startup->engine_control().get_state());
+ if (_startup && _startup->engine_control() && _startup->engine_control()->was_used()) {
+ Config->add_extra_xml (_startup->engine_control()->get_state());
}
Config->save_state();
ui_config->save_state ();
@@ -649,8 +649,8 @@ ARDOUR_UI::startup ()
bool backend_audio_is_running = EngineControl::engine_running();
XMLNode* audio_setup = Config->extra_xml ("AudioSetup");
- if (audio_setup) {
- _startup->engine_control().set_state (*audio_setup);
+ if (audio_setup && _startup && _startup->engine_control()) {
+ _startup->engine_control()->set_state (*audio_setup);
}
if (!get_session_parameters (backend_audio_is_running, ARDOUR_COMMAND_LINE::new_session)) {
diff --git a/gtk2_ardour/startup.h b/gtk2_ardour/startup.h
index f01d972899..4d8bf8ee62 100644
--- a/gtk2_ardour/startup.h
+++ b/gtk2_ardour/startup.h
@@ -31,7 +31,7 @@ class ArdourStartup : public Gtk::Assistant {
bool use_session_template() { return false; }
Glib::ustring session_template_name() { return ""; }
- EngineControl& engine_control() { return *engine_dialog; }
+ EngineControl* engine_control() { return engine_dialog; }
// advanced session options