Fix use-after free (signal after deleting group)
This commit is contained in:
parent
3d26a29e8a
commit
3aa3413944
|
@ -745,10 +745,10 @@ GroupTabs::set_activation (RouteGroup* g, bool a)
|
|||
void
|
||||
GroupTabs::remove_group (RouteGroup* g)
|
||||
{
|
||||
RouteList rl (*(g->route_list().get()));
|
||||
boost::shared_ptr<RouteList> rl (g->route_list ());
|
||||
_session->remove_route_group (*g);
|
||||
|
||||
emit_gui_changed_for_members (g);
|
||||
emit_gui_changed_for_members (rl);
|
||||
}
|
||||
|
||||
/** Set the color of the tab of a route group */
|
||||
|
@ -822,7 +822,7 @@ GroupTabs::route_group_property_changed (RouteGroup* rg)
|
|||
for our routes.
|
||||
*/
|
||||
|
||||
emit_gui_changed_for_members (rg);
|
||||
emit_gui_changed_for_members (rg->route_list ());
|
||||
|
||||
set_dirty ();
|
||||
}
|
||||
|
@ -858,11 +858,11 @@ GroupTabs::route_removed_from_route_group (RouteGroup*, boost::weak_ptr<Route> w
|
|||
}
|
||||
|
||||
void
|
||||
GroupTabs::emit_gui_changed_for_members (RouteGroup* rg)
|
||||
GroupTabs::emit_gui_changed_for_members (boost::shared_ptr<RouteList> rl)
|
||||
{
|
||||
PresentationInfo::ChangeSuspender cs;
|
||||
|
||||
for (RouteList::iterator i = rg->route_list()->begin(); i != rg->route_list()->end(); ++i) {
|
||||
for (RouteList::iterator i = rl->begin(); i != rl->end(); ++i) {
|
||||
(*i)->presentation_info().PropertyChanged (Properties::color);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ protected:
|
|||
};
|
||||
|
||||
private:
|
||||
static void emit_gui_changed_for_members (ARDOUR::RouteGroup *);
|
||||
static void emit_gui_changed_for_members (boost::shared_ptr<ARDOUR::RouteList>);
|
||||
|
||||
/** Compute all the tabs for this widget.
|
||||
* @return Tabs.
|
||||
|
|
Loading…
Reference in New Issue