FileSource should not generate its own error message when a file is missing
authorPaul Davis <paul@linuxaudiosystems.com>
Mon, 15 Sep 2014 16:38:16 +0000 (12:38 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 15 Sep 2014 18:09:12 +0000 (14:09 -0400)
libs/ardour/file_source.cc

index bb6d3562fa5d8786d2725adca97a8f4c40f1b301..a4d317af718ff8ed8ec062d0f97cf6586c8adbc2 100644 (file)
@@ -252,8 +252,6 @@ FileSource::find (Session& s, DataType type, const string& path, bool must_exist
                         goto out;
                 }
 
-                hits.clear ();
-
                 for (vector<string>::iterator i = dirs.begin(); i != dirs.end(); ++i) {
 
                         fullpath = Glib::build_filename (*i, path);
@@ -308,8 +306,9 @@ FileSource::find (Session& s, DataType type, const string& path, bool must_exist
                        /* no match: error */
 
                         if (must_exist) {
-                                error << string_compose(
-                                        _("Filesource: cannot find required file (%1)"), path) << endmsg;
+                               /* do not generate an error here, leave that to
+                                  whoever deals with the false return value.
+                               */
                                 goto out;
                         } else {
                                 isnew = true;
@@ -320,16 +319,17 @@ FileSource::find (Session& s, DataType type, const string& path, bool must_exist
                        
                        keeppath = de_duped_hits[0];
                }
-                                                 
-        } else {
+                                                  
+       } else {
                 keeppath = path;
         }
 
         /* Current find() is unable to parse relative path names to yet non-existant
            sources. QuickFix(tm)
         */
-        if (keeppath == "") {
-                if (must_exist) {
+
+       if (keeppath.empty()) {
+               if (must_exist) {
                         error << "FileSource::find(), keeppath = \"\", but the file must exist" << endl;
                 } else {
                         keeppath = path;