summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-12-02 15:31:54 +0000
committerCarl Hetherington <cth@carlh.net>2013-12-02 15:31:54 +0000
commit9c7a244ac08898b9e0b41454204bc4cba52c28e8 (patch)
tree45bee7875afbf47508ceb97f5f70308b51eeffd0 /src/lib
parent79891687adcc6c8f0b8f5d4e5804da1b2cd8c29f (diff)
Fix crash on double-click of show-audio button.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/audio_content.cc10
-rw-r--r--src/lib/audio_content.h2
2 files changed, 6 insertions, 6 deletions
diff --git a/src/lib/audio_content.cc b/src/lib/audio_content.cc
index 04823d1e6..97372b962 100644
--- a/src/lib/audio_content.cc
+++ b/src/lib/audio_content.cc
@@ -119,17 +119,17 @@ AudioContent::set_audio_delay (int d)
signal_changed (AudioContentProperty::AUDIO_DELAY);
}
-void
+boost::signals2::connection
AudioContent::analyse_audio (boost::function<void()> finished)
{
shared_ptr<const Film> film = _film.lock ();
- if (!film) {
- return;
- }
+ assert (film);
shared_ptr<AnalyseAudioJob> job (new AnalyseAudioJob (film, dynamic_pointer_cast<AudioContent> (shared_from_this())));
- job->Finished.connect (finished);
+ boost::signals2::connection c = job->Finished.connect (finished);
JobManager::instance()->add (job);
+
+ return c;
}
boost::filesystem::path
diff --git a/src/lib/audio_content.h b/src/lib/audio_content.h
index b100d7aba..ca4a1f234 100644
--- a/src/lib/audio_content.h
+++ b/src/lib/audio_content.h
@@ -58,7 +58,7 @@ public:
virtual AudioMapping audio_mapping () const = 0;
virtual void set_audio_mapping (AudioMapping) = 0;
- void analyse_audio (boost::function<void()>);
+ boost::signals2::connection analyse_audio (boost::function<void()>);
boost::filesystem::path audio_analysis_path () const;
void set_audio_gain (float);