diff options
Diffstat (limited to 'libs/ardour/session_rtevents.cc')
-rw-r--r-- | libs/ardour/session_rtevents.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libs/ardour/session_rtevents.cc b/libs/ardour/session_rtevents.cc index 5e20421cca..db334932f1 100644 --- a/libs/ardour/session_rtevents.cc +++ b/libs/ardour/session_rtevents.cc @@ -62,18 +62,17 @@ Session::set_solo (boost::shared_ptr<RouteList> rl, bool yn, SessionEvent::RTeve void Session::rt_set_solo (boost::shared_ptr<RouteList> rl, bool yn, bool /* group_override */) { - solo_update_disabled = true; - for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) { if (!(*i)->is_auditioner()) { (*i)->set_solo (yn, this); } } - solo_update_disabled = false; - routes_solo_changed (rl); - set_dirty(); + /* XXX boost::shared_ptr<RouteList> goes out of scope here and is likley free()ed in RT context + * because boost's shared_ptr does reference counting and free/delete in the dtor. + * (this also applies to other rt_ methods here) + */ } void |