summaryrefslogtreecommitdiff
path: root/gtk2_ardour/selection.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-11-09 13:28:45 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-11-09 13:28:45 +0000
commit79ba9960964c8ea701abfe00dbef128ca7da9fbd (patch)
tree3f303f7a8e7c0ab265d392fe8d2bb3b6f1339b9d /gtk2_ardour/selection.cc
parent96fa1cd0b636d47d4b0787281fc9401693a77af9 (diff)
catch markers as they go away, to avoid selection corruption; add select-range-between-cursors (F3); add unimplemented select-all-within-cursors (different from select-all-between-cursors); make ctrl-x/delete delete a marker if the mouse is pointing at it
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2611 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/selection.cc')
-rw-r--r--gtk2_ardour/selection.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk2_ardour/selection.cc b/gtk2_ardour/selection.cc
index 6b2915ac02..5ee9e48e29 100644
--- a/gtk2_ardour/selection.cc
+++ b/gtk2_ardour/selection.cc
@@ -772,11 +772,17 @@ Selection::remove (Marker* m)
}
}
-
void
Selection::add (Marker* m)
{
if (find (markers.begin(), markers.end(), m) == markers.end()) {
+
+ /* disambiguate which remove() for the compiler */
+
+ void (Selection::*pmf)(Marker*) = &Selection::remove;
+
+ m->GoingAway.connect (bind (mem_fun (*this, pmf), m));
+
markers.push_back (m);
MarkersChanged();
}