diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-17 15:45:27 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-05-31 15:30:43 -0400 |
commit | 8b48aff077383320c7a077ca5fcbad28062dfdcc (patch) | |
tree | c8f2adfb274159591f473df572c1b21d31ca4638 /gtk2_ardour/editor.cc | |
parent | 08f01085de7a99776ddd040d660fbb8e8e284861 (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.cc | 16 |
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 */ |