summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-02-07 03:33:46 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-02-07 03:33:46 +0000
commit87a6d6b2b80594b7e31828ee2a4e8b381c69a35f (patch)
tree734d6f01efa2c76f5e8c66d26b61ea93451ee14a
parente48780ad4578f7ca7efa035f53afac4199228de2 (diff)
fix crash caused by adding both entered_regionview and regions_at_edit_point to region selection in get_regions_for_action()2.3.1
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3029 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/editor.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 210e585d7e..ad47e086e0 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -4371,7 +4371,15 @@ Editor::get_regions_for_action (RegionSelection& rs, bool allow_entered)
/* consider adding the entered regionview */
if (allow_entered && entered_regionview && (mouse_mode == Editing::MouseObject)) {
- if (!selection->selected (entered_regionview)) {
+
+ /* only add the entered regionview if its not selected OR
+ (we're not going to use regions at edit point OR its track is not selected)
+
+ this avoids duplicate regions ending up in "rs"
+ */
+
+ if (!selection->selected (entered_regionview) &&
+ (!use_regions_at || !selection->selected (&entered_regionview->get_time_axis_view()))) {
rs.add (entered_regionview);
}
}