[...]
BUG:
if you accidently make a bang object, instead of a bang message then pd "segmentation fault"s on sgis and linux... so the symbol bang is identified as object, which isnt one:
Consistency check failed: canvas_setargs Program received signal SIGSEGV, Segmentation fault. 0xfa3a510 in memmove ()
Possible Solution:
making a bang object (maybe in x_connective.c) x_bang.c: send a anything in and get a bang out (like [t b])
--- cut here ---
/* -------------------------- bang ------------------------------ */ static t_class *pdbang_class;
typedef struct _pdbang { t_object x_obj; } t_pdbang;
static void *pdbang_new(t_pd *dummy) { t_pdbang *x = (t_pdbang *)pd_new(pdbang_class); outlet_new(&x->x_obj, &s_bang); newest = &x->x_obj.ob_pd; return (x); }
static void pdbang_bang(t_pdbang *x) { outlet_bang(x->x_obj.ob_outlet); }
static void pdbang_int(t_pdbang *x, t_int n) { outlet_bang(x->x_obj.ob_outlet); }
static void pdbang_float(t_pdbang *x, t_float f) { outlet_bang(x->x_obj.ob_outlet); }
void pdbang_setup(void) { pdbang_class = class_new(gensym("bang"), (t_newmethod)pdbang_new, 0, sizeof(t_pdbang), 0, 0); class_addcreator(pdbang_new, gensym("b"), 0); class_addbang(pdbang_class, pdbang_bang); class_addint(pdbang_class, pdbang_int); class_addfloat(pdbang_class, (t_method)pdbang_float); } --- cut here --
I hope I catched millers syntax style ;-)
...also add bang_setup() in x_connective_setup(void).