diff options
author | Carl Hetherington <carl@carlh.net> | 2010-08-20 22:46:15 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2010-08-20 22:46:15 +0000 |
commit | fac369084222360526fc86f0c72be87b574abc7d (patch) | |
tree | ad48ae4e993a274907d13338590c7ff12c6d0461 /gtk2_ardour/selection.cc | |
parent | 822ee79d840f20036b5729277f90e641cb0bb06f (diff) |
Fix my broken logic for control point selection.
git-svn-id: svn://localhost/ardour2/branches/3.0@7663 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/selection.cc')
-rw-r--r-- | gtk2_ardour/selection.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gtk2_ardour/selection.cc b/gtk2_ardour/selection.cc index c9d12f0694..5b1bba1f3c 100644 --- a/gtk2_ardour/selection.cc +++ b/gtk2_ardour/selection.cc @@ -936,7 +936,15 @@ Selection::set (ControlPoint* cp) return; } - points.clear (); + /* We're going to set up the PointSelection from the selected ControlPoints + on this point's line, so we need to deselect all ControlPoints before + we re-add this one. + */ + + for (uint32_t i = 0; i < cp->line().npoints(); ++i) { + cp->line().nth (i)->set_selected (false); + } + vector<ControlPoint*> cps; cps.push_back (cp); add (cps); |