diff options
author | Carl Hetherington <carl@carlh.net> | 2011-12-12 19:03:46 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-12-12 19:03:46 +0000 |
commit | af768486c9b354a1703b09810e21328e513ce51d (patch) | |
tree | 57a87a961e4b6bee640e10c52065f2e350703ff3 /gtk2_ardour/midi_selection.h | |
parent | be371bedb9bc8b28131aaefa30054aace7cf4812 (diff) |
Make the MidiRegionSelection notice when its MidiRegionViews go away; fixes one source of memory corruption during MIDI edits.
git-svn-id: svn://localhost/ardour2/branches/3.0@10991 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/midi_selection.h')
-rw-r--r-- | gtk2_ardour/midi_selection.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gtk2_ardour/midi_selection.h b/gtk2_ardour/midi_selection.h index de99392127..f2c2d3fc60 100644 --- a/gtk2_ardour/midi_selection.h +++ b/gtk2_ardour/midi_selection.h @@ -21,11 +21,23 @@ #define __ardour_gtk_midi_selection_h__ #include <list> +#include "pbd/signals.h" class MidiRegionView; class MidiCutBuffer; +class RegionView; + +class MidiRegionSelection : public std::list<MidiRegionView*> +{ +public: + MidiRegionSelection (); + MidiRegionSelection (MidiRegionSelection const &); + +private: + void remove_it (RegionView *); + PBD::ScopedConnection _death_connection; +}; -struct MidiRegionSelection : std::list<MidiRegionView*> {}; struct MidiNoteSelection : std::list<MidiCutBuffer*> {}; #endif /* __ardour_gtk_midi_selection_h__ */ |