version update
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / indexfile.C
index b8c0af6957a57b2c7eb96df02678e5977e24a8cb..885495edba05552ff9d07ef0833d41e65eb125eb 100644 (file)
@@ -73,6 +73,9 @@
 #ifdef HAVE_ISOFS
 #include <linux/iso_fs.h>
 #endif
+#if defined(__FreeBSD__)
+#include <isofs/cd9660/iso.h>
+#endif
 
 // check for isofs volume_id for dvd/cdrom
 
@@ -228,7 +231,7 @@ void IndexFile::delete_index(Preferences *preferences,
        char index_filename[BCTEXTLEN];
        char source_filename[BCTEXTLEN];
        const char *path = indexable->path;
-
+       if( !*path ) return;
        get_index_filename(source_filename,
                preferences->index_directory,
                index_filename, path, suffix);
@@ -350,7 +353,7 @@ int IndexFile::open_source()
        }
        else
        {
-               TransportCommand command;
+               TransportCommand command(mwindow->preferences);
                command.command = NORMAL_FWD;
                command.get_edl()->copy_all((EDL*)indexable);
                command.change_type = CHANGE_ALL;
@@ -859,7 +862,8 @@ int IndexFile::read_info(Indexable *test_indexable)
 
                data = new char[index_state->index_start];
                temp = fread(data, index_state->index_start - sizeof(int64_t), 1, fd);
-               if(!temp) return 1;
+               if(!temp) { delete [] data;
+               return 1;}
 
                data[index_state->index_start - sizeof(int64_t)] = 0;
                FileXML xml;