summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-05-17 15:45:27 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:43 -0400
commit8b48aff077383320c7a077ca5fcbad28062dfdcc (patch)
treec8f2adfb274159591f473df572c1b21d31ca4638 /gtk2_ardour/editor.cc
parent08f01085de7a99776ddd040d660fbb8e8e284861 (diff)
fix GUI handling of surface select requests to include possibility of selecting non-Routes
Diffstat (limited to 'gtk2_ardour/editor.cc')
-rw-r--r--gtk2_ardour/editor.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 76fb5e2038..5775dfaf83 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -1010,7 +1010,21 @@ Editor::control_select (PresentationInfo::global_order_t global_order, Selection
return;
}
- PresentationInfo pi (global_order, PresentationInfo::Flag (0));
+ PresentationInfo::Flag select_flags;
+
+ if (global_order & ~0xffffffff) {
+ /* some flags are set, so the PresentationInfo constructor
+ * will use them
+ */
+ select_flags = PresentationInfo::Flag (0);
+ } else {
+ /* no type flags set in the global order ID, so assume caller
+ * wants to select a Route
+ */
+ select_flags = PresentationInfo::Route;
+ }
+
+ PresentationInfo pi (global_order, select_flags);
boost::shared_ptr<Stripable> s = _session->get_remote_nth_stripable (pi.group_order(), pi.flags());
/* selected object may not be a Route */