avoid track I/O reconnection during drags
This commit is contained in:
parent
83bd2ee752
commit
7b1388f263
|
@ -7165,7 +7165,11 @@ Editor::default_time_domain () const
|
|||
void
|
||||
Editor::start_track_drag (TimeAxisView& tav, int y, Gtk::Widget& w)
|
||||
{
|
||||
track_drag = new TrackDrag (dynamic_cast<RouteTimeAxisView*> (&tav));
|
||||
if (!_session) {
|
||||
return;
|
||||
}
|
||||
|
||||
track_drag = new TrackDrag (dynamic_cast<RouteTimeAxisView*> (&tav), *_session);
|
||||
|
||||
track_drag->drag_cursor = _cursors->move->gobj();
|
||||
track_drag->predrag_cursor = gdk_window_get_cursor (edit_controls_vbox.get_window()->gobj());
|
||||
|
@ -7225,6 +7229,12 @@ Editor::end_track_drag ()
|
|||
|
||||
delete track_drag;
|
||||
track_drag = nullptr;
|
||||
|
||||
/* the suspender was deleted with track_drag, now catch up on any track
|
||||
numbering and side effects
|
||||
*/
|
||||
|
||||
_session->update_track_numbers ();
|
||||
}
|
||||
|
||||
bool
|
||||
|
|
|
@ -2611,8 +2611,9 @@ private:
|
|||
bool have_predrag_cursor;
|
||||
int direction;
|
||||
bool first_move;
|
||||
ARDOUR::Session::LivetraxAutoConnectSuspender suspender;
|
||||
|
||||
TrackDrag (RouteTimeAxisView* rtav)
|
||||
TrackDrag (RouteTimeAxisView* rtav, ARDOUR::Session& s)
|
||||
: track (rtav)
|
||||
, drag_cursor (nullptr)
|
||||
, predrag_cursor (nullptr)
|
||||
|
@ -2623,6 +2624,7 @@ private:
|
|||
, have_predrag_cursor (false)
|
||||
, direction (0)
|
||||
, first_move (true)
|
||||
, suspender (s)
|
||||
{}
|
||||
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user