mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 15:54:57 +01:00
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:
parent
89e5954953
commit
3a9a9f247f
2 changed files with 15 additions and 10 deletions
|
|
@ -1425,12 +1425,17 @@ private:
|
||||||
/* import specific info */
|
/* import specific info */
|
||||||
|
|
||||||
struct EditorImportStatus : public ARDOUR::ImportStatus {
|
struct EditorImportStatus : public ARDOUR::ImportStatus {
|
||||||
Editing::ImportMode mode;
|
void clear () {
|
||||||
samplepos_t pos;
|
ARDOUR::ImportStatus::clear ();
|
||||||
int target_tracks;
|
track.reset ();
|
||||||
int target_regions;
|
}
|
||||||
boost::shared_ptr<ARDOUR::Track> track;
|
|
||||||
bool replace;
|
Editing::ImportMode mode;
|
||||||
|
samplepos_t pos;
|
||||||
|
int target_tracks;
|
||||||
|
int target_regions;
|
||||||
|
boost::shared_ptr<ARDOUR::Track> track;
|
||||||
|
bool replace;
|
||||||
};
|
};
|
||||||
|
|
||||||
EditorImportStatus import_status;
|
EditorImportStatus import_status;
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue