Fix stuck connection block when template load fails.
authorRobin Gareus <robin@gareus.org>
Mon, 26 Nov 2018 20:45:06 +0000 (21:45 +0100)
committerRobin Gareus <robin@gareus.org>
Mon, 26 Nov 2018 20:45:06 +0000 (21:45 +0100)
Session::new_route_from_template() unconditionally calls
IO::disable_connecting(), and needs to be reverted likewise
(no RAII here).

libs/ardour/session.cc

index f5920f96e48decabcb84f615ab50ea26b13ab582..6fd6a9474c1e629bf64bd66926cd97b487757a8c 100644 (file)
@@ -3451,6 +3451,11 @@ Session::new_route_from_template (uint32_t how_many, PresentationInfo::order_t i
                        goto out;
                }
 
+               catch (...) {
+                       IO::enable_connecting ();
+                       throw;
+               }
+
                --how_many;
        }
 
@@ -3462,9 +3467,10 @@ Session::new_route_from_template (uint32_t how_many, PresentationInfo::order_t i
                } else {
                        add_routes (ret, true, true, false, insert_at);
                }
-               IO::enable_connecting ();
        }
 
+       IO::enable_connecting ();
+
        return ret;
 }