From 5a4ef850ce22223c1fefc92d7097cc834aa8a3ac Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 18 Mar 2021 13:17:02 -0600 Subject: [PATCH] better fix for same issue as 985eb9367462b Copy region selection so that when it is invalidated, iteration doesn't break --- gtk2_ardour/editor_selection.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc index 443c071fd7..1899663fb5 100644 --- a/gtk2_ardour/editor_selection.cc +++ b/gtk2_ardour/editor_selection.cc @@ -1683,15 +1683,14 @@ Editor::select_all_internal_edit (Selection::Operation) { bool selected = false; - for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ) { - RegionSelection::iterator tmp = i; - ++tmp; + RegionSelection copy (selection->regions); + + for (RegionSelection::iterator i = copy.begin(); i != copy.end(); ++i) { MidiRegionView* mrv = dynamic_cast(*i); if (mrv) { mrv->select_all_notes (); selected = true; } - i = tmp; } MidiRegionView* mrv = dynamic_cast(entered_regionview);