fix missing colon in extension of LXVST search path
[ardour.git] / libs / ardour / audio_track_importer.cc
index 4e28df9f87931c659d9827c19b5e192758c52951..b3ac93e010696ebc091b9533c5907edc1cdce499 100644 (file)
@@ -223,6 +223,7 @@ AudioTrackImporter::get_info () const
        return name;
 }
 
+/** @return true if everything is ok */
 bool
 AudioTrackImporter::_prepare_move ()
 {
@@ -247,7 +248,21 @@ AudioTrackImporter::_prepare_move ()
                }
                name = rename_pair.second;
        }
-       xml_track.child ("IO")->property ("name")->set_value (name);
+       
+       XMLNode* c = xml_track.child ("IO");
+       if (!c) {
+               error << _("badly-formed XML in imported track") << endmsg;
+               return false;
+       }
+
+       XMLProperty* p = c->property ("name");
+       if (!p) {
+               error << _("badly-formed XML in imported track") << endmsg;
+               return false;
+       }
+       
+       p->set_value (name);
+       
        track_handler.add_name (name);
 
        return true;
@@ -267,7 +282,7 @@ AudioTrackImporter::_move ()
 
        boost::shared_ptr<XMLSharedNodeList> ds_node_list;
        string xpath = "/Session/DiskStreams/AudioDiskstream[@id='" + old_ds_id.to_s() + "']";
-       ds_node_list = source.root()->find (xpath);
+       ds_node_list = source.find (xpath);
 
        if (ds_node_list->size() != 1) {
                error << string_compose (_("Error Importing Audio track %1"), name) << endmsg;
@@ -275,7 +290,9 @@ AudioTrackImporter::_move ()
        }
 
        boost::shared_ptr<XMLNode> ds_node = ds_node_list->front();
-       ds_node->property ("id")->set_value (new_ds_id.to_s());
+       XMLProperty* p = ds_node->property (X_("id"));
+       assert (p);
+       p->set_value (new_ds_id.to_s());
 
        boost::shared_ptr<Diskstream> new_ds (new AudioDiskstream (session, *ds_node));
        new_ds->set_name (name);