diff options
author | Carl Hetherington <carl@carlh.net> | 2011-10-28 17:04:09 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-10-28 17:04:09 +0000 |
commit | 7bdcc127e3e42bd76b997b56ecd938b1127d790b (patch) | |
tree | f1e9856094ee5a54cc28957508f2b693fbcd043a /libs/ardour/midi_track.cc | |
parent | f65e3f287b48fef6d4fdb8c4456c0eada4c4431c (diff) |
Use shared_ptr for Port in the AudioEngine; improves thread-safety of the audio engine's port list as a writer cannot destroy a port in one thread while the port list is being iterated in another.
git-svn-id: svn://localhost/ardour2/branches/3.0@10327 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r-- | libs/ardour/midi_track.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index 469d994768..dcea38521b 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -690,7 +690,7 @@ MidiTrack::map_input_active (bool yn) PortSet& ports (_input->ports()); for (PortSet::iterator p = ports.begin(DataType::MIDI); p != ports.end(DataType::MIDI); ++p) { - MidiPort* mp = dynamic_cast<MidiPort*> (&*p); + boost::shared_ptr<MidiPort> mp = boost::dynamic_pointer_cast<MidiPort> (*p); if (yn != mp->input_active()) { mp->set_input_active (yn); } |