Fix/tweak various DSP-load window issues
* update when window is visible and session-changes * drop connections to prevent multiple callbacks * catch session-deletion, skip updates
This commit is contained in:
parent
7857083fc8
commit
144dda0581
@ -62,6 +62,8 @@ PluginDSPLoadWindow::set_session (Session* s)
|
||||
ArdourWindow::set_session (s);
|
||||
if (!s) {
|
||||
drop_references ();
|
||||
} else if (is_visible ()) {
|
||||
refill_processors ();
|
||||
}
|
||||
}
|
||||
|
||||
@ -107,12 +109,18 @@ PluginDSPLoadWindow::drop_references ()
|
||||
delete *child;
|
||||
}
|
||||
}
|
||||
_route_connections.drop_connections ();
|
||||
_processor_connections.drop_connections ();
|
||||
}
|
||||
|
||||
void
|
||||
PluginDSPLoadWindow::refill_processors ()
|
||||
{
|
||||
drop_references ();
|
||||
if (!_session || _session->deletion_in_progress()) {
|
||||
/* may be called from session d'tor, removing monitor-section w/plugin */
|
||||
return;
|
||||
}
|
||||
RouteList routes = _session->get_routelist ();
|
||||
for (RouteList::const_iterator i = routes.begin(); i != routes.end(); ++i) {
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user