From 487ae583017a1e60ae5c7e47c3e9863eb433e31e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 28 Jan 2017 12:04:00 +0100 Subject: stop looping when deleting loop-range (fixes potential crash) --- libs/ardour/location.cc | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libs/ardour/location.cc') diff --git a/libs/ardour/location.cc b/libs/ardour/location.cc index 1b53c705d8..77177391b0 100644 --- a/libs/ardour/location.cc +++ b/libs/ardour/location.cc @@ -1035,6 +1035,7 @@ Locations::remove (Location *loc) for (i = locations.begin(); i != locations.end(); ++i) { if ((*i) == loc) { + bool was_loop = (*i)->is_auto_loop(); delete *i; locations.erase (i); was_removed = true; @@ -1042,6 +1043,12 @@ Locations::remove (Location *loc) current_location = 0; was_current = true; } + if (was_loop) { + if (_session.get_play_loop()) { + _session.request_play_loop (false, false); + } + _session.auto_loop_location_changed (0); + } break; } } -- cgit v1.2.3