moved media to smart pointers

This commit is contained in:
itsmattkc
2019-03-13 09:34:07 +11:00
parent 686addf144
commit 935cf04d95
12 changed files with 214 additions and 244 deletions
+7 -12
View File
@@ -263,7 +263,7 @@ bool LoadThread::load_worker(QFile& f, QXmlStreamReader& stream, int type) {
switch (type) {
case MEDIA_TYPE_FOLDER:
{
Media* folder = panel_project->create_folder_internal(nullptr);
MediaPtr folder = panel_project->create_folder_internal(nullptr);
folder->temp_id2 = 0;
for (int j=0;j<stream.attributes().size();j++) {
const QXmlStreamAttribute& attr = stream.attributes().at(j);
@@ -282,7 +282,7 @@ bool LoadThread::load_worker(QFile& f, QXmlStreamReader& stream, int type) {
{
int folder = 0;
Media* item = new Media(nullptr);
MediaPtr item = std::make_shared<Media>();
FootagePtr f(new Footage());
f->using_inout = false;
@@ -381,7 +381,7 @@ bool LoadThread::load_worker(QFile& f, QXmlStreamReader& stream, int type) {
olive::project_model.appendChild(find_loaded_folder_by_id(folder), item);
// analyze media to see if it's the same
loaded_media_items.append(item);
loaded_media_items.append(item.get());
}
break;
case MEDIA_TYPE_SEQUENCE:
@@ -581,9 +581,9 @@ bool LoadThread::load_worker(QFile& f, QXmlStreamReader& stream, int type) {
}
}
Media* m = panel_project->create_sequence_internal(nullptr, s, false, parent);
MediaPtr m = panel_project->create_sequence_internal(nullptr, s, false, parent);
loaded_sequences.append(m);
loaded_sequences.append(m.get());
}
break;
}
@@ -600,7 +600,7 @@ bool LoadThread::load_worker(QFile& f, QXmlStreamReader& stream, int type) {
Media* LoadThread::find_loaded_folder_by_id(int id) {
if (id == 0) return nullptr;
for (int j=0;j<loaded_folders.size();j++) {
Media* parent_item = loaded_folders.at(j);
Media* parent_item = loaded_folders.at(j).get();
if (parent_item->temp_id == id) {
return parent_item;
}
@@ -632,12 +632,7 @@ void LoadThread::run() {
error_str.clear();
show_err = true;
// temp variables for loading (unnecessary?)
open_seq = nullptr;
loaded_folders.clear();
loaded_media_items.clear();
loaded_clips.clear();
loaded_sequences.clear();
// get "element" count
current_element_count = 0;
@@ -669,7 +664,7 @@ void LoadThread::run() {
if (cont) {
// since folders loaded correctly, organize them appropriately
for (int i=0;i<loaded_folders.size();i++) {
Media* folder = loaded_folders.at(i);
MediaPtr folder = loaded_folders.at(i);
int parent = folder->temp_id2;
olive::project_model.appendChild(find_loaded_folder_by_id(parent), folder);
}