summaryrefslogtreecommitdiff
path: root/gtk2_ardour/midi_selection.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-12-12 19:03:46 +0000
committerCarl Hetherington <carl@carlh.net>2011-12-12 19:03:46 +0000
commitaf768486c9b354a1703b09810e21328e513ce51d (patch)
tree57a87a961e4b6bee640e10c52065f2e350703ff3 /gtk2_ardour/midi_selection.h
parentbe371bedb9bc8b28131aaefa30054aace7cf4812 (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.h14
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__ */