Move reader lock to avoid deadlock when calling bbt_time().
authorCarl Hetherington <carl@carlh.net>
Tue, 24 Jan 2012 22:42:43 +0000 (22:42 +0000)
committerCarl Hetherington <carl@carlh.net>
Tue, 24 Jan 2012 22:42:43 +0000 (22:42 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@11342 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/tempo.cc

index 9a4877c451055b0cd18b77578a8e60c36fdbc627..ef74c09c2783c0c12786ac383d85e34dccb478b5 100644 (file)
@@ -1187,14 +1187,11 @@ TempoMap::frame_time (const BBT_Time& bbt)
 framecnt_t
 TempoMap::bbt_duration_at (framepos_t pos, const BBT_Time& bbt, int dir)
 {
-       Glib::RWLock::ReaderLock lm (lock);
-       framecnt_t frames = 0;
        BBT_Time when;
-
        bbt_time (pos, when);
-       frames = bbt_duration_at_unlocked (when, bbt,dir);
-
-       return frames;
+       
+       Glib::RWLock::ReaderLock lm (lock);
+       return bbt_duration_at_unlocked (when, bbt, dir);
 }
 
 framecnt_t