diff options
-rw-r--r-- | libs/pbd/file_utils.cc | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/libs/pbd/file_utils.cc b/libs/pbd/file_utils.cc index 7c3dffe71f..bb290fa6aa 100644 --- a/libs/pbd/file_utils.cc +++ b/libs/pbd/file_utils.cc @@ -18,6 +18,7 @@ */ #include <algorithm> +#include <vector> #include <glib.h> #include <glib/gstdio.h> @@ -32,6 +33,7 @@ #include "pbd/file_utils.h" #include "pbd/error.h" #include "pbd/pathscanner.h" +#include "pbd/stl_delete.h" #include "i18n.h" @@ -165,10 +167,14 @@ copy_files(const std::string & from_path, const std::string & to_dir) { PathScanner scanner; vector<string*>* files = scanner (from_path, accept_all_files, 0, true, false); - for (vector<string*>::iterator i = files->begin(); i != files->end(); ++i) { - std::string from = Glib::build_filename (from_path, **i); - std::string to = Glib::build_filename (to_dir, **i); - copy_file (from, to); + + if (files) { + for (vector<string*>::iterator i = files->begin(); i != files->end(); ++i) { + std::string from = Glib::build_filename (from_path, **i); + std::string to = Glib::build_filename (to_dir, **i); + copy_file (from, to); + } + vector_delete (files); } } |