summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_routes.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-01-31 20:40:31 +0100
committerRobin Gareus <robin@gareus.org>2017-01-31 20:42:33 +0100
commit353eb5601c764c28f433e3f7b29fb2ab4b478765 (patch)
treed03770c376fd4d2f473ff6abf03bfddd4c71ae9f /gtk2_ardour/editor_routes.cc
parent9e7652ca62820f7c9ea3c9e732eb9f833a88238d (diff)
Don't allow to select VCAs in the route-list
Diffstat (limited to 'gtk2_ardour/editor_routes.cc')
-rw-r--r--gtk2_ardour/editor_routes.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc
index 1406ed43a7..cec0969863 100644
--- a/gtk2_ardour/editor_routes.cc
+++ b/gtk2_ardour/editor_routes.cc
@@ -1535,7 +1535,7 @@ EditorRoutes::selection_changed ()
}
bool
-EditorRoutes::selection_filter (Glib::RefPtr<TreeModel> const &, TreeModel::Path const&, bool /*selected*/)
+EditorRoutes::selection_filter (Glib::RefPtr<TreeModel> const& model, TreeModel::Path const& path, bool /*selected*/)
{
if (selection_countdown) {
if (--selection_countdown == 0) {
@@ -1545,6 +1545,15 @@ EditorRoutes::selection_filter (Glib::RefPtr<TreeModel> const &, TreeModel::Path
return false;
}
}
+
+ TreeModel::iterator iter = model->get_iter (path);
+ if (iter) {
+ boost::shared_ptr<Stripable> stripable = (*iter)[_columns.stripable];
+ if (boost::dynamic_pointer_cast<VCA> (stripable)) {
+ return false;
+ }
+ }
+
return true;
}