From 6d9e73fbb7398c2f0f73720a6d8a38e5caf6da15 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Mon, 10 Sep 2007 00:06:58 +0000 Subject: [PATCH] Avoid dereferencing invalidated iterator when removing selected regions. Fixes bug 1703. git-svn-id: svn://localhost/ardour2/trunk@2443 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/editor_ops.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index a82ca0260a..8906837031 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -178,8 +178,8 @@ Editor::remove_selected_regions () /* XXX: should be called remove regions if we're removing more than one */ begin_reversible_command (_("remove region")); - for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) { - boost::shared_ptr region = (*i)->region (); + while (!selection->regions.empty()) { + boost::shared_ptr region = selection->regions.front()->region (); boost::shared_ptr playlist = region->playlist (); XMLNode &before = playlist->get_state();