Always set up _last_position on set_position_internal so that the playlist range...
authorCarl Hetherington <carl@carlh.net>
Mon, 12 Dec 2011 23:39:09 +0000 (23:39 +0000)
committerCarl Hetherington <carl@carlh.net>
Mon, 12 Dec 2011 23:39:09 +0000 (23:39 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@10992 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/region.cc

index d337cf6625e84cbc677cd62b2121070d1de9b1d3..f761602ef6e07fb87c216fdba2630dc414a3b413 100644 (file)
@@ -596,8 +596,13 @@ Region::set_position (framepos_t pos)
 void
 Region::set_position_internal (framepos_t pos, bool allow_bbt_recompute)
 {
+       /* We emit a change of Properties::position even if the position hasn't changed
+          (see Region::set_position), so we must always set this up so that
+          e.g. Playlist::notify_region_moved doesn't use an out-of-date last_position.
+       */
+       _last_position = _position;
+       
        if (_position != pos) {
-               _last_position = _position;
                _position = pos;
 
                /* check that the new _position wouldn't make the current