summaryrefslogtreecommitdiff
path: root/libs/ardour/export_profile_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/export_profile_manager.cc')
-rw-r--r--libs/ardour/export_profile_manager.cc16
1 files changed, 14 insertions, 2 deletions
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 */