fix crash when copy'ing latent plugins
[ardour.git] / libs / ardour / audio_port.cc
index 2fecbf9392c1f5b9600da044f0678c9315164d0d..33e41c10ad49cc309615af9d4778e0d5d426b610 100644 (file)
@@ -59,8 +59,11 @@ void
 AudioPort::cycle_end (pframes_t nframes)
 {
         if (sends_output() && !_buffer->written()) {
-               if (_buffer->capacity() >= nframes) {
-                       _buffer->silence (nframes);
+               if (!_buffer->data (0)) {
+                       get_audio_buffer (nframes);
+               }
+               if (_buffer->capacity() >= nframes) {
+                       _buffer->silence (nframes);
                }
        }
 }
@@ -79,7 +82,7 @@ AudioPort::get_audio_buffer (pframes_t nframes)
        return *_buffer;
 }
 
-Sample* 
+Sample*
 AudioPort::engine_get_whole_audio_buffer ()
 {
        /* caller must hold process lock */