--- d_ugen.c.org 2006-08-24 15:05:04.000000000 +0200 +++ d_ugen.c 2006-08-24 15:30:10.000000000 +0200 @@ -219,11 +219,11 @@ static void block_bang(t_block *x) { - if (x->x_switched && !x->x_switchon) + if (dsp_chain && x->x_switched && !x->x_switchon) { t_int *ip; x->x_return = 1; - for (ip = dsp_chain + x->x_chainonset; ip; ) + for (ip = dsp_chain + x->x_chainonset; ip&&*ip; ) ip = (*(t_perfroutine)(*ip))(ip); x->x_return = 0; } @@ -333,7 +333,7 @@ if (dsp_chain) { t_int *ip; - for (ip = dsp_chain; ip; ) ip = (*(t_perfroutine)(*ip))(ip); + for (ip = dsp_chain; ip&&*ip; ) ip = (*(t_perfroutine)(*ip))(ip); dsp_phase++; } }