Dis/reconnect to session signals for each session
This allows to load a session from a running instance. Prior to this change this caused a crash (_session = null) ``` #1 ARDOUR::Session::session_directory() const (this=0x0) at ../libs/ardour/ardour/session.h:257 #2 EditorSources::populate_row(Gtk::TreeRow, boost::shared_ptr<ARDOUR::Region>) (this=0x555559836900, row=..., region=...) at ../gtk2_ardour/editor_sources.cc:433 #3 EditorSources::regions_changed [ .. signal propagation ..] #20 ARDOUR::Region::send_change #21 PBD::Stateful::resume_property_changes #22 ARDOUR::AudioRegion::_set_state #23 ARDOUR::AudioRegion::set_state #24 ARDOUR::RegionFactory::create #25 ARDOUR::Session::XMLAudioRegionFactory #27 ARDOUR::Session::load_regions #28 ARDOUR::Session::set_state #29 ARDOUR::Session::post_engine_init #30 ARDOUR::Session::Session #31 ARDOUR_UI::load_session_stage_two #32 ARDOUR_UI::load_session #33 ARDOUR_UI::open_recent_session ```
This commit is contained in:
parent
666e62076c
commit
0b2b361b32
@ -330,6 +330,9 @@ EditorSources::set_session (ARDOUR::Session* s)
|
||||
redisplay();
|
||||
|
||||
} else {
|
||||
source_property_connection.disconnect ();
|
||||
add_source_connection.disconnect ();
|
||||
remove_source_connection.disconnect ();
|
||||
clear();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user