Don't update region list during region trim. Fixes #3467.

git-svn-id: svn://localhost/ardour2/branches/3.0@7825 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2010-09-21 23:23:07 +00:00
parent 90e73a3a6d
commit dbd1e1f7b8
2 changed files with 13 additions and 2 deletions

View File

@ -1547,6 +1547,10 @@ TrimDrag::start_grab (GdkEvent* event, Gdk::Cursor* cursor)
_editor->show_verbose_time_cursor (pf, 10);
break;
}
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
i->view->region()->suspend_property_changes ();
}
}
void
@ -1594,7 +1598,6 @@ TrimDrag::motion (GdkEvent* event, bool first_move)
rv->fake_set_opaque(false);
rv->enable_display (false);
rv->region()->clear_changes ();
rv->region()->suspend_property_changes ();
AudioRegionView* const arv = dynamic_cast<AudioRegionView*> (rv);
@ -1705,6 +1708,10 @@ TrimDrag::finished (GdkEvent* event, bool movement_occurred)
/* no mouse movement */
_editor->point_trim (event, adjusted_current_frame (event));
}
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
i->view->region()->resume_property_changes ();
}
}
void
@ -1720,6 +1727,10 @@ TrimDrag::aborted ()
if (_have_transaction) {
_editor->undo ();
}
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
i->view->region()->resume_property_changes ();
}
}
MeterMarkerDrag::MeterMarkerDrag (Editor* e, ArdourCanvas::Item* i, bool c)

View File

@ -346,7 +346,7 @@ EditorRegions::region_changed (boost::shared_ptr<Region> r, const PropertyChange
our_interests.add (ARDOUR::Properties::fade_in);
our_interests.add (ARDOUR::Properties::fade_out);
if (last_row != NULL){
if (last_row != 0) {
TreeModel::iterator j = _model->get_iter (last_row.get_path());
boost::shared_ptr<Region> c = (*j)[_columns.region];