From 8b48aff077383320c7a077ca5fcbad28062dfdcc Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 17 May 2016 15:45:27 -0400 Subject: [PATCH] fix GUI handling of surface select requests to include possibility of selecting non-Routes --- gtk2_ardour/editor.cc | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) 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 s = _session->get_remote_nth_stripable (pi.group_order(), pi.flags()); /* selected object may not be a Route */