summaryrefslogtreecommitdiff
path: root/libs/ardour/location.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-09-17 09:38:42 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2014-09-17 09:38:42 -0400
commit73f2baf5c6ac62982b7a542f9a6937435b3d4ad7 (patch)
tree992ef990f9c907e943ba2c70ca598707eea9c262 /libs/ardour/location.cc
parentf415e24514f74c8773e416e7917fdea07eebcf4a (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.cc11
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);