diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-09-17 09:38:42 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-09-17 09:38:42 -0400 |
commit | 73f2baf5c6ac62982b7a542f9a6937435b3d4ad7 (patch) | |
tree | 992ef990f9c907e943ba2c70ca598707eea9c262 /libs/ardour/location.cc | |
parent | f415e24514f74c8773e416e7917fdea07eebcf4a (diff) |
Locations::clear_ranges() leaves punch/loop/session ranges intact if they exist
Diffstat (limited to 'libs/ardour/location.cc')
-rw-r--r-- | libs/ardour/location.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libs/ardour/location.cc b/libs/ardour/location.cc index aab2b4ea85..84fe93e7f8 100644 --- a/libs/ardour/location.cc +++ b/libs/ardour/location.cc @@ -766,6 +766,17 @@ Locations::clear_ranges () tmp = i; ++tmp; + /* We do not remove these ranges as part of this + * operation + */ + + if ((*i)->is_auto_punch() || + (*i)->is_auto_loop() || + (*i)->is_session_range()) { + i = tmp; + continue; + } + if (!(*i)->is_mark()) { delete *i; locations.erase (i); |