From 133251db91e7f58cfd5a57b46ead32c97b19126e Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 14 Feb 2014 16:33:44 -0500 Subject: possible fix for error during export format load-from-disk --- libs/ardour/export_profile_manager.cc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'libs/ardour') diff --git a/libs/ardour/export_profile_manager.cc b/libs/ardour/export_profile_manager.cc index 7ff4282c74..08fdb96e0d 100644 --- a/libs/ardour/export_profile_manager.cc +++ b/libs/ardour/export_profile_manager.cc @@ -724,8 +724,20 @@ ExportProfileManager::load_formats () void ExportProfileManager::load_format_from_disk (std::string const & path) { - XMLTree const tree (path); - ExportFormatSpecPtr format = handler->add_format (*tree.root()); + XMLTree tree; + + if (!tree.read (path)) { + error << string_compose (_("Cannot load export format from %1"), path) << endmsg; + return; + } + + XMLNode* root = tree.root(); + if (!root) { + error << string_compose (_("Cannot export format read from %1"), path) << endmsg; + return; + } + + ExportFormatSpecPtr format = handler->add_format (*root); /* Handle id to filename mapping and don't add duplicates to list */ -- cgit v1.2.3