fix cleanup (code is self-evident). From Yevgeny @ waves
[ardour.git] / libs / ardour / audio_track_importer.cc
index 88dcf779588b024e539936b7d4f0a639ce0c1a23..cf9a25962c9d21829fa6defd4cb7e0944a2b860a 100644 (file)
@@ -40,8 +40,7 @@ using namespace ARDOUR;
 /*** AudioTrackImportHandler ***/
 
 AudioTrackImportHandler::AudioTrackImportHandler (XMLTree const & source, Session & session, AudioPlaylistImportHandler & pl_handler) :
-  ElementImportHandler (source, session),
-  pl_handler (pl_handler)
+  ElementImportHandler (source, session)
 {
        XMLNode const * root = source.root();
        XMLNode const * routes;
@@ -223,6 +222,7 @@ AudioTrackImporter::get_info () const
        return name;
 }
 
+/** @return true if everything is ok */
 bool
 AudioTrackImporter::_prepare_move ()
 {
@@ -247,7 +247,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;