13
0

Speed up Route deletion

Session::remove_routes() first calls IO::disconnect()
before eventually calling route->drop_references().

RouteTimeAxisView::io_changed() is called while the route still
exists and requests a redraw which in turn emits
_stripable->gui_changed ("track_height").

Since the RTAV is deleted later during an idle-callback, there
was another redraw performed just before the RTAV is actually deleted.
This commit is contained in:
Robin Gareus 2022-01-29 05:13:23 +01:00
parent 83719fba1a
commit 532e212882
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -2277,7 +2277,7 @@ void
RouteTimeAxisView::io_changed (IOChange /*change*/, void */*src*/) RouteTimeAxisView::io_changed (IOChange /*change*/, void */*src*/)
{ {
reset_meter (); reset_meter ();
if (_route && !no_redraw) { if (_route && !no_redraw && !_session->routes_deletion_in_progress ()) {
request_redraw (); request_redraw ();
} }
} }