vtl: disconnect from session-save signal

the videotimeline is a global unique instance that is allocated during
startup and deleted on exit. The Scopedconnection is not deleted
with the session.
This commit is contained in:
Robin Gareus 2013-04-09 03:47:47 +02:00
parent 8a3ebe7510
commit 49ddf8ecce
2 changed files with 4 additions and 1 deletions

View File

@ -155,6 +155,7 @@ VideoTimeLine::close_session ()
if (video_duration == 0) {
return;
}
sessionsave.disconnect();
save_session();
close_video_monitor();
@ -171,7 +172,7 @@ VideoTimeLine::set_session (ARDOUR::Session *s)
SessionHandlePtr::set_session (s);
if (!_session) { return ; }
_session->SaveSession.connect_same_thread (*this, boost::bind (&VideoTimeLine::save_session, this));
_session->SaveSession.connect_same_thread (sessionsave, boost::bind (&VideoTimeLine::save_session, this));
LocaleGuard lg (X_("POSIX"));
XMLNode* node = _session->extra_xml (X_("Videotimeline"));

View File

@ -137,6 +137,8 @@ class VideoTimeLine : public sigc::trackable, public ARDOUR::SessionHandlePtr, p
PBD::Signal0<void> VtlUpdate;
PBD::Signal1<void,std::string> GuiUpdate;
void gui_update (const std::string &);
PBD::ScopedConnection sessionsave;
};
#endif /* __ardour_video_timeline_h__ */