diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2007-04-26 20:54:31 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2007-04-26 20:54:31 +0000 |
commit | 87726495c30f90554b5204b5385d17274a8fe93e (patch) | |
tree | d7ecaf0be9b5cbd2afa226cd02cb53a36875d6a2 /gtk2_ardour/audio_streamview.cc | |
parent | 45d3ec1437cf661533bc7750c623865def4424df (diff) |
Merged changes from trunk 1699:1751 into 2.1-staging
git-svn-id: svn://localhost/ardour2/branches/2.1-staging@1752 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_streamview.cc')
-rw-r--r-- | gtk2_ardour/audio_streamview.cc | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc index 14036bc569..279130ad38 100644 --- a/gtk2_ardour/audio_streamview.cc +++ b/gtk2_ardour/audio_streamview.cc @@ -291,12 +291,26 @@ AudioStreamView::playlist_changed (boost::shared_ptr<Diskstream> ds) } void +AudioStreamView::add_crossfade_weak (boost::weak_ptr<Crossfade> crossfade) +{ + boost::shared_ptr<Crossfade> sp (crossfade.lock()); + + if (!sp) { + return; + } + + add_crossfade (sp); +} + +void AudioStreamView::add_crossfade (boost::shared_ptr<Crossfade> crossfade) { AudioRegionView* lview = 0; AudioRegionView* rview = 0; + + /* we do not allow shared_ptr<T> to be bound to slots */ - ENSURE_GUI_THREAD (bind (mem_fun (*this, &AudioStreamView::add_crossfade), crossfade)); + ENSURE_GUI_THREAD (bind (mem_fun (*this, &AudioStreamView::add_crossfade_weak), boost::weak_ptr<Crossfade> (crossfade))); /* first see if we already have a CrossfadeView for this Crossfade */ |