13
0
Go to file
Robin Gareus f84504222e disallow invalid port-removal
do not allow port-removal if the port would be re-added immediately
after that again because the main-delivery actually needs it.

As a side effect this prevents this crash:

 * create a stereo-track, then remove one output
  -> unhandled exception "AudioEngine::PortRegistrationFailure&"

 The problem:
 - the port is removed from the RCU ports list,
   but Port::drop() (which calls jack_port_unregister) is only called
   from the Port's destructor at some later time.
   (because a reference to the port still exists elsewhere)
 - the jack-port is not yet removed.
 - meanwhile Delivery::configure_io comes along and notices that
   there are more audio-buffers than ports and tries to re-register the port.
 - but the port still exists in jack, so it fails and throws an exception
   ...which is not handled.
2013-08-08 15:26:19 -04:00
doc
export
gtk2_ardour disallow invalid port-removal 2013-08-08 15:26:19 -04:00
icons
libs disallow invalid port-removal 2013-08-08 15:26:19 -04:00
mcp
midi_maps
patches
patchfiles
templates
tools valgrind ignore glib UTF8 warnings 2013-08-08 15:26:18 -04:00
vst
.dir-locals.el
.gitignore Use common test function to create temporary session 2013-08-08 15:23:08 -04:00
ardour_system_sae.rc
ardour_system.rc
ardour-3.ttl
ardour.1
ardour.1.es
ardour.1.fr
ardour.1.ru
ardour.dox
COPYING
instant.xml
instant.xml.sae
Makefile
PACKAGER_README
README
testfile.flac
testfile.ogg
TRANSLATORS
waf
wscript add _ISOC9X_SOURCE define to compiler command line to provide uniform access to llabs() 2013-08-08 15:26:18 -04:00

Please see the Ardour web site at http://ardour.org/ for all documentation..

For information on building ardour: 
      
     http://ardour.org/development.html