Make control point selection more consistent.
[ardour.git] / gtk2_ardour / automation_region_view.cc
index 54508153295b3c764ed93b32aab51d98c5409f11..f1f9d68b987f8af60b3df5c067dea5cb9e643bf8 100644 (file)
@@ -187,17 +187,18 @@ AutomationRegionView::add_automation_event (GdkEvent *, framepos_t when, double
        double when_d = when;
        _line->view_to_model_coord (when_d, y);
 
-       view->editor().begin_reversible_command (_("add automation event"));
        XMLNode& before = _line->the_list()->get_state();
 
-       _line->the_list()->editor_add (when_d, y, with_guard_points);
+       if (_line->the_list()->editor_add (when_d, y, with_guard_points)) {
+               view->editor().begin_reversible_command (_("add automation event"));
 
-       XMLNode& after = _line->the_list()->get_state();
+               XMLNode& after = _line->the_list()->get_state();
 
-       view->session()->add_command (new MementoCommand<ARDOUR::AutomationList> (_line->memento_command_binder(), &before, &after));
-       view->editor().commit_reversible_command ();
+               view->session()->add_command (new MementoCommand<ARDOUR::AutomationList> (_line->memento_command_binder(), &before, &after));
+               view->editor().commit_reversible_command ();
 
-       view->session()->set_dirty ();
+               view->session()->set_dirty ();
+       }
 }
 
 bool