diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-07-26 15:22:24 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-07-26 15:22:24 +0000 |
commit | edf09354fb5ff3e1e2e7a263ebfb6e6e0c97bae8 (patch) | |
tree | 1f47c7ae8ca6d11243c6000e6367fb8c318a45af /libs/ardour/rc_configuration.cc | |
parent | 5219cb7cd6987a21c40f55c14b6bbb4732fa3462 (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.cc | 14 |
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 ()); |