diff options
author | Robin Gareus <robin@gareus.org> | 2013-04-09 03:47:47 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-04-09 04:05:42 +0200 |
commit | 49ddf8ecce0027e5cb96de2d361aec8d74b3c921 (patch) | |
tree | 3f755cda24e61af7b2f474e490ed06d16793b14f /gtk2_ardour | |
parent | 8a3ebe7510195b7d7f2c3eba3ae75b0e76b8db70 (diff) |
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.
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/video_timeline.cc | 3 | ||||
-rw-r--r-- | gtk2_ardour/video_timeline.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/gtk2_ardour/video_timeline.cc b/gtk2_ardour/video_timeline.cc index 269e465623..563a6a366e 100644 --- a/gtk2_ardour/video_timeline.cc +++ b/gtk2_ardour/video_timeline.cc @@ -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")); diff --git a/gtk2_ardour/video_timeline.h b/gtk2_ardour/video_timeline.h index 559709d708..4bc3eb86c7 100644 --- a/gtk2_ardour/video_timeline.h +++ b/gtk2_ardour/video_timeline.h @@ -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__ */ |