Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17887
Modified Files: Tag: devel_0_39 desire.c Log Message: [bng] [tgl] etc all register a receive-symbol (augggh)
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.65 retrieving revision 1.1.2.66 diff -C2 -d -r1.1.2.65 -r1.1.2.66 *** desire.c 11 Apr 2006 20:25:33 -0000 1.1.2.65 --- desire.c 14 Apr 2006 19:39:21 -0000 1.1.2.66 *************** *** 10895,10910 **** } t_nbx;
- static int iemgui_clip_size(int size); - static void iemgui_size(t_iemgui *x); - static void iemgui_subclass (t_class *c); - t_iemgui *iemgui_new(t_class *qlass); - void iemgui_propertiesfn(t_gobj *x, t_glist *owner); - static void iemgui_constrain(t_iemgui *x); t_symbol *s_empty; int convert_color2(int x); - static void iemgui_init(t_iemgui *x, t_floatarg f); void binbuf_update(t_iemgui *x, t_symbol *qlass, int argc, t_atom *argv); - static /*bool*/ int iemgui_loadbang (/*t_iemgui*/ void *x); - static /*bool*/ int iemgui_forward (/*t_iemgui*/ void *x); /* was put_in2out */
typedef struct t_foo { int argc; t_atom *argv; t_binbuf *b; } t_foo; --- 10895,10901 ---- *************** *** 11200,11223 ****
static void gatom_bang(t_gatom *x) { ! if (x->a_atom.a_type == A_FLOAT) ! { if (x->a_text.te_outlet) outlet_float(x->a_text.te_outlet, x->a_atom.a_w.w_float); ! if (*x->a_expanded_to->s_name && x->a_expanded_to->s_thing) { if (x->a_symto == x->a_symfrom) goto err; ! pd_float(x->a_expanded_to->s_thing, x->a_atom.a_w.w_float); } } else if (x->a_atom.a_type == A_SYMBOL) { if (x->a_text.te_outlet) outlet_symbol(x->a_text.te_outlet, x->a_atom.a_w.w_symbol); ! if (*x->a_symto->s_name && x->a_expanded_to->s_thing) { if (x->a_symto == x->a_symfrom) goto err; ! pd_symbol(x->a_expanded_to->s_thing, x->a_atom.a_w.w_symbol); } } return; err: ! pd_error(x, "%s: atom with same send/receive name (infinite loop)", ! x->a_symto->s_name); }
--- 11191,11214 ----
static void gatom_bang(t_gatom *x) { ! t_symbol *s = x->a_expanded_to; ! if (x->a_atom.a_type == A_FLOAT) { if (x->a_text.te_outlet) outlet_float(x->a_text.te_outlet, x->a_atom.a_w.w_float); ! if (*s->s_name && s->s_thing) { if (x->a_symto == x->a_symfrom) goto err; ! pd_float(s->s_thing, x->a_atom.a_w.w_float); } } else if (x->a_atom.a_type == A_SYMBOL) { if (x->a_text.te_outlet) outlet_symbol(x->a_text.te_outlet, x->a_atom.a_w.w_symbol); ! if (*x->a_symto->s_name && s->s_thing) { if (x->a_symto == x->a_symfrom) goto err; ! pd_symbol(s->s_thing, x->a_atom.a_w.w_symbol); } } return; err: ! pd_error(x, "%s: atom with same send/receive name (infinite loop)", ! x->a_symto->s_name); }
*************** *** 11869,11872 **** --- 11860,11869 ---- }
+ t_symbol *pd_makebindsym(t_pd *x) { + char buf[42]; + sprintf(buf,".x%lx",(long)x); + return gensym(buf); + } + t_iemgui *iemgui_new(t_class *qlass) { t_iemgui *x = (t_iemgui *)pd_new(qlass); *************** *** 11884,11887 **** --- 11881,11885 ---- x->fcol = 0x000000; x->lcol = 0x000000; + pd_bind((t_pd *)x,pd_makebindsym((t_pd *)x)); return x; }