From: Carl Hetherington Date: Mon, 12 Dec 2011 23:39:09 +0000 (+0000) Subject: Always set up _last_position on set_position_internal so that the playlist range... X-Git-Tag: 3.0-beta2~184 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=56c33f0202b51bc973b77b396d99d75ac858f716;p=ardour.git Always set up _last_position on set_position_internal so that the playlist range movement code doesn't get confused when we have region move notifications where the region doesn't actually move (should fix #4557). git-svn-id: svn://localhost/ardour2/branches/3.0@10992 d708f5d6-7413-0410-9779-e7cbd77b26cf --- diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc index d337cf6625..f761602ef6 100644 --- a/libs/ardour/region.cc +++ b/libs/ardour/region.cc @@ -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