X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Feditor_summary.cc;h=a2882a201a25a1fbc9aea895fc0b52b39abd7f02;hb=b8f5306d5bf59ddb237fabcdbab91a7d1e6fd612;hp=fb2a15773a7da60ae18fd3af770d18beb3ca8233;hpb=9d3aba30c48e39dd075d1f181bd71538e437fad5;p=ardour.git diff --git a/gtk2_ardour/editor_summary.cc b/gtk2_ardour/editor_summary.cc index fb2a15773a..a2882a201a 100644 --- a/gtk2_ardour/editor_summary.cc +++ b/gtk2_ardour/editor_summary.cc @@ -293,8 +293,10 @@ EditorSummary::render_region (RegionView* r, cairo_t* cr, double y) const void EditorSummary::set_background_dirty () { - _background_dirty = true; - set_dirty (); + if (!_background_dirty) { + _background_dirty = true; + set_dirty (); + } } /** Set the summary so that just the overlays (viewbox, playhead etc.) will be re-rendered */ @@ -1050,8 +1052,8 @@ void EditorSummary::routes_added (list const & r) { for (list::const_iterator i = r.begin(); i != r.end(); ++i) { - /* Connect to gui_changed() on the route so that we know when their colour has changed */ - (*i)->route()->gui_changed.connect (*this, invalidator (*this), boost::bind (&EditorSummary::route_gui_changed, this, _1), gui_context ()); + /* Connect to the relevant signal for the route so that we know when its colour has changed */ + (*i)->route()->presentation_info().PropertyChanged.connect (*this, invalidator (*this), boost::bind (&EditorSummary::route_gui_changed, this, _1), gui_context ()); boost::shared_ptr tr = boost::dynamic_pointer_cast ((*i)->route ()); if (tr) { tr->PlaylistChanged.connect (*this, invalidator (*this), boost::bind (&EditorSummary::set_background_dirty, this), gui_context ()); @@ -1062,9 +1064,9 @@ EditorSummary::routes_added (list const & r) } void -EditorSummary::route_gui_changed (string c) +EditorSummary::route_gui_changed (PBD::PropertyChange const& what_changed) { - if (c == "color") { + if (what_changed.contains (Properties::color)) { set_background_dirty (); } }