Allow calling IO::silence for yet unregistered ports (Click)
[ardour.git] / libs / ardour / io.cc
index 1be47f35bfc01c2698b1f5a137fa3675c4b6de43..a3549f0a1d3ff0895ae7c9fb9abe99435b3e0093 100644 (file)
@@ -31,6 +31,7 @@
 #include "pbd/replace_all.h"
 #include "pbd/unknown_type.h"
 #include "pbd/enumwriter.h"
+#include "pbd/locale_guard.h"
 #include "pbd/types_convert.h"
 
 #include "ardour/audioengine.h"
@@ -147,7 +148,9 @@ IO::silence (framecnt_t nframes)
        /* io_lock, not taken: function must be called from Session::process() calltree */
 
        for (PortSet::iterator i = _ports.begin(); i != _ports.end(); ++i) {
-               i->get_buffer(nframes).silence (nframes);
+               if (i->port_handle ()) {
+                       i->get_buffer(nframes).silence (nframes);
+               }
        }
 }