From 0a3c416f64481d1450af0332073ea6e3aea789fa Mon Sep 17 00:00:00 2001
From: Miller Puckette <msp@ucsd.edu>
Date: Fri, 15 Feb 2008 11:29:24 -0800
Subject: [PATCH] Bug fix (crash after many DSP starts/stops on Pc)

---
 src/g_io.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/g_io.c b/src/g_io.c
index 2ee89c1cd..dd7583cc3 100644
--- a/src/g_io.c
+++ b/src/g_io.c
@@ -168,6 +168,9 @@ void vinlet_dspprolog(struct _vinlet *x, t_signal **parentsigs,
     int downsample, int upsample,  int reblock, int switched)
 {
     t_signal *insig, *outsig;
+        /* no buffer means we're not a signal inlet */
+    if (!x->x_buf)
+        return;
     x->x_updown.downsample = downsample;
     x->x_updown.upsample   = upsample;
 
@@ -435,6 +438,9 @@ void voutlet_dspprolog(struct _voutlet *x, t_signal **parentsigs,
     int myvecsize, int calcsize, int phase, int period, int frequency,
     int downsample, int upsample, int reblock, int switched)
 {
+        /* no buffer means we're not a signal outlet */
+    if (!x->x_buf)
+        return;
     x->x_updown.downsample=downsample;
     x->x_updown.upsample=upsample;
     x->x_justcopyout = (switched && !reblock);
-- 
GitLab