Clear import-status shared-ptr<> after use

Previously "Sequence files" set import_status.track and never
reset() the shared pointer. This resulted in various follow up
issues.
This commit is contained in:
Robin Gareus 2020-02-25 02:37:52 +01:00
parent 89e5954953
commit 3a9a9f247f
No known key found for this signature in database
GPG key ID: A090BCE02CF57F04
2 changed files with 15 additions and 10 deletions

View file

@ -1425,6 +1425,11 @@ private:
/* import specific info */ /* import specific info */
struct EditorImportStatus : public ARDOUR::ImportStatus { struct EditorImportStatus : public ARDOUR::ImportStatus {
void clear () {
ARDOUR::ImportStatus::clear ();
track.reset ();
}
Editing::ImportMode mode; Editing::ImportMode mode;
samplepos_t pos; samplepos_t pos;
int target_tracks; int target_tracks;

View file

@ -383,7 +383,7 @@ Editor::do_import (vector<string> paths,
} else { } else {
ipw.show (); ipw.show ();
ok = (import_sndfiles (paths, disposition, mode, quality, pos, 1, 1, track, false, instrument) == 0); ok = (import_sndfiles (paths, disposition, mode, quality, pos, 1, 1, track, false, instrument) == 0);
import_status.sources.clear(); import_status.clear();
} }
} else { } else {
@ -429,7 +429,7 @@ Editor::do_import (vector<string> paths,
} }
ok = (import_sndfiles (to_import, disposition, mode, quality, pos, 1, -1, track, replace, instrument) == 0); ok = (import_sndfiles (to_import, disposition, mode, quality, pos, 1, -1, track, replace, instrument) == 0);
import_status.sources.clear(); import_status.clear();
break; break;
case Editing::ImportDistinctChannels: case Editing::ImportDistinctChannels:
@ -438,7 +438,7 @@ Editor::do_import (vector<string> paths,
to_import.push_back (*a); to_import.push_back (*a);
ok = (import_sndfiles (to_import, disposition, mode, quality, pos, -1, -1, track, replace, instrument) == 0); ok = (import_sndfiles (to_import, disposition, mode, quality, pos, -1, -1, track, replace, instrument) == 0);
import_status.sources.clear(); import_status.clear();
break; break;
case Editing::ImportSerializeFiles: case Editing::ImportSerializeFiles:
@ -447,7 +447,7 @@ Editor::do_import (vector<string> paths,
to_import.push_back (*a); to_import.push_back (*a);
ok = (import_sndfiles (to_import, disposition, mode, quality, pos, 1, 1, track, replace, instrument) == 0); ok = (import_sndfiles (to_import, disposition, mode, quality, pos, 1, 1, track, replace, instrument) == 0);
import_status.sources.clear(); import_status.clear();
break; break;
case Editing::ImportMergeFiles: case Editing::ImportMergeFiles: