Fix non-layered record-undo
Previously an empty RegionList was used (auto-partition changes were never collected at rec-stop), furthermore auto-partitioned regions do not have an old ARDOUR::AutomationList (fade in/out) property (_have_old is false).
This commit is contained in:
parent
5d12aa15f5
commit
8f5c3fcddb
@ -699,10 +699,8 @@ Playlist::add_region (boost::shared_ptr<Region> region, samplepos_t position, fl
|
|||||||
samplepos_t pos = position;
|
samplepos_t pos = position;
|
||||||
|
|
||||||
if (times == 1 && auto_partition) {
|
if (times == 1 && auto_partition) {
|
||||||
RegionList thawlist;
|
|
||||||
partition_internal (pos - 1, (pos + region->length ()), true, rlock.thawlist);
|
partition_internal (pos - 1, (pos + region->length ()), true, rlock.thawlist);
|
||||||
for (RegionList::iterator i = thawlist.begin (); i != thawlist.end (); ++i) {
|
for (RegionList::iterator i = rlock.thawlist.begin (); i != rlock.thawlist.end (); ++i) {
|
||||||
(*i)->resume_property_changes ();
|
|
||||||
_session.add_command (new StatefulDiffCommand (*i));
|
_session.add_command (new StatefulDiffCommand (*i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -405,9 +405,10 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool changed () const {
|
bool changed () const {
|
||||||
/* Expensive, but, hey; this requires operator!= in
|
if (!_old) {
|
||||||
our T
|
return false;
|
||||||
*/
|
}
|
||||||
|
/* Expensive, but, hey; this requires operator!= in our T */
|
||||||
return (*_old != *_current);
|
return (*_old != *_current);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user