From df09d80bd39dbba9349cf8fac6cfb8a823c23df4 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 10 Jun 2016 13:53:48 -0400 Subject: [PATCH] EditorRoutes needs to respond to PropertyChanged(selected) --- gtk2_ardour/editor_routes.cc | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc index dc41492dfd..4e97f75796 100644 --- a/gtk2_ardour/editor_routes.cc +++ b/gtk2_ardour/editor_routes.cc @@ -895,27 +895,40 @@ EditorRoutes::route_removed (TimeAxisView *tv) void EditorRoutes::route_property_changed (const PropertyChange& what_changed, boost::weak_ptr s) { + if (!what_changed.contains (ARDOUR::Properties::hidden) && !what_changed.contains (ARDOUR::Properties::name)) { + return; + } + if (_adding_routes) { return; } - if (what_changed.contains (ARDOUR::Properties::name)) { + boost::shared_ptr stripable = s.lock (); - boost::shared_ptr stripable = s.lock (); + if (!stripable) { + return; + } - if (!stripable) { - return; - } + TreeModel::Children rows = _model->children(); + TreeModel::Children::iterator i; - TreeModel::Children rows = _model->children(); - TreeModel::Children::iterator i; + for (i = rows.begin(); i != rows.end(); ++i) { - for (i = rows.begin(); i != rows.end(); ++i) { - boost::shared_ptr ss = (*i)[_columns.stripable]; - if (ss == stripable) { + boost::shared_ptr ss = (*i)[_columns.stripable]; + + if (ss == stripable) { + + if (what_changed.contains (ARDOUR::Properties::name)) { (*i)[_columns.text] = stripable->name(); break; } + + if (what_changed.contains (ARDOUR::Properties::hidden)) { + (*i)[_columns.visible] = !stripable->presentation_info().hidden(); + redisplay (); + } + + break; } } }