From 49ddf8ecce0027e5cb96de2d361aec8d74b3c921 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 9 Apr 2013 03:47:47 +0200 Subject: 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. --- gtk2_ardour/video_timeline.cc | 3 ++- gtk2_ardour/video_timeline.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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 VtlUpdate; PBD::Signal1 GuiUpdate; void gui_update (const std::string &); + + PBD::ScopedConnection sessionsave; }; #endif /* __ardour_video_timeline_h__ */ -- cgit v1.2.3