diff options
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 */ |