projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
version update
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
indexfile.C
diff --git
a/cinelerra-5.1/cinelerra/indexfile.C
b/cinelerra-5.1/cinelerra/indexfile.C
index 0e6469e2c1d5e3fe64aebcc853d7a8738a564a98..16175535e96a0f1e876a893ca07d2b66c5a347c5 100644
(file)
--- a/
cinelerra-5.1/cinelerra/indexfile.C
+++ b/
cinelerra-5.1/cinelerra/indexfile.C
@@
-2,6
+2,7
@@
/*
* CINELERRA
* Copyright (C) 1997-2014 Adam Williams <broadcast at earthling dot net>
/*
* CINELERRA
* Copyright (C) 1997-2014 Adam Williams <broadcast at earthling dot net>
+ * Copyright (C) 2003-2016 Cinelerra CV contributors
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-73,6
+74,9
@@
#ifdef HAVE_ISOFS
#include <linux/iso_fs.h>
#endif
#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
// check for isofs volume_id for dvd/cdrom
@@
-228,7
+232,7
@@
void IndexFile::delete_index(Preferences *preferences,
char index_filename[BCTEXTLEN];
char source_filename[BCTEXTLEN];
const char *path = indexable->path;
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);
get_index_filename(source_filename,
preferences->index_directory,
index_filename, path, suffix);
@@
-350,7
+354,7
@@
int IndexFile::open_source()
}
else
{
}
else
{
- TransportCommand command;
+ TransportCommand command
(mwindow->preferences)
;
command.command = NORMAL_FWD;
command.get_edl()->copy_all((EDL*)indexable);
command.change_type = CHANGE_ALL;
command.command = NORMAL_FWD;
command.get_edl()->copy_all((EDL*)indexable);
command.change_type = CHANGE_ALL;
@@
-374,9
+378,10
@@
void IndexFile::close_source()
delete render_engine;
render_engine = 0;
delete render_engine;
render_engine = 0;
-
- delete cache;
- cache = 0;
+ if( cache ) {
+ cache->remove_user();
+ cache = 0;
+ }
}
int64_t IndexFile::get_required_scale()
}
int64_t IndexFile::get_required_scale()
@@
-858,7
+863,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);
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;
data[index_state->index_start - sizeof(int64_t)] = 0;
FileXML xml;