diff options
author | Carl Hetherington <carl@carlh.net> | 2010-12-09 21:34:31 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-12-09 21:34:31 +0000 |
commit | 7d4e03e28e58a9315f163738f35559f57b099d37 (patch) | |
tree | 37b39ea5e40835a918a77845b01fb4ab1515ba66 /libs/ardour/ardour/midi_model.h | |
parent | ebf3762fa91d911af411f1b5c68e3c67f2c47170 (diff) |
Use a weak_ptr rather than a bald pointer for _midi_source in MidiModel.
git-svn-id: svn://localhost/ardour2/branches/3.0@8228 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/midi_model.h')
-rw-r--r-- | libs/ardour/ardour/midi_model.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libs/ardour/ardour/midi_model.h b/libs/ardour/ardour/midi_model.h index e959535a36..27ffa4d8a2 100644 --- a/libs/ardour/ardour/midi_model.h +++ b/libs/ardour/ardour/midi_model.h @@ -51,7 +51,7 @@ class MidiModel : public AutomatableSequence<Evoral::MusicalTime> { public: typedef Evoral::MusicalTime TimeType; - MidiModel(MidiSource* s); + MidiModel (boost::shared_ptr<MidiSource>); NoteMode note_mode() const { return (percussive() ? Percussive : Sustained); } void set_note_mode(NoteMode mode) { set_percussive(mode == Percussive); }; @@ -140,8 +140,8 @@ public: PBD::Signal0<void> ContentsChanged; - const MidiSource* midi_source() const { return _midi_source; } - void set_midi_source (MidiSource *); + boost::shared_ptr<const MidiSource> midi_source (); + void set_midi_source (boost::shared_ptr<MidiSource>); boost::shared_ptr<Evoral::Note<TimeType> > find_note (NotePtr); boost::shared_ptr<Evoral::Note<TimeType> > find_note (gint note_id); @@ -181,7 +181,7 @@ private: PBD::ScopedConnectionList _midi_source_connections; // We cannot use a boost::shared_ptr here to avoid a retain cycle - MidiSource* _midi_source; + boost::weak_ptr<MidiSource> _midi_source; InsertMergePolicy _insert_merge_policy; }; |