summaryrefslogtreecommitdiff
path: root/libs/ardour/rc_configuration.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-07-26 15:22:24 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-07-26 15:22:24 +0000
commitedf09354fb5ff3e1e2e7a263ebfb6e6e0c97bae8 (patch)
tree1f47c7ae8ca6d11243c6000e6367fb8c318a45af /libs/ardour/rc_configuration.cc
parent5219cb7cd6987a21c40f55c14b6bbb4732fa3462 (diff)
don't crash during startup with no config files when trying to use a non-existent MIDI Manager object
git-svn-id: svn://localhost/ardour2/branches/3.0@7500 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/rc_configuration.cc')
-rw-r--r--libs/ardour/rc_configuration.cc14
1 files changed, 9 insertions, 5 deletions
diff --git a/libs/ardour/rc_configuration.cc b/libs/ardour/rc_configuration.cc
index 3ca4868f63..3b22bfc247 100644
--- a/libs/ardour/rc_configuration.cc
+++ b/libs/ardour/rc_configuration.cc
@@ -209,11 +209,15 @@ RCConfiguration::get_state ()
root = new XMLNode("Ardour");
- const MIDI::Manager::PortList& ports = MIDI::Manager::instance()->get_midi_ports();
-
- for (MIDI::Manager::PortList::const_iterator i = ports.begin(); i != ports.end(); ++i) {
- root->add_child_nocopy((*i)->get_state());
- }
+ MIDI::Manager* mm = MIDI::Manager::instance();
+
+ if (mm) {
+ const MIDI::Manager::PortList& ports = mm->get_midi_ports();
+
+ for (MIDI::Manager::PortList::const_iterator i = ports.begin(); i != ports.end(); ++i) {
+ root->add_child_nocopy((*i)->get_state());
+ }
+ }
root->add_child_nocopy (get_variables ());