From a414995534a486eeeef1795e9019e9c2f1d4f718 Mon Sep 17 00:00:00 2001 From: Ivica Ico Bukvic <ico@vt.edu> Date: Thu, 21 Mar 2013 15:28:06 -0400 Subject: [PATCH] fixed regression from IOhannes' proposed fix (see e7acc4796b655100b650f898bb10687fb9f7355d commit) that affects propagation of scalar pointers through the trigger object. Use scalar-help.pd to test. --- pd/src/m_class.c | 2 +- pd/src/x_connective.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/pd/src/m_class.c b/pd/src/m_class.c index 9fc05fc2f..e70cf1bef 100644 --- a/pd/src/m_class.c +++ b/pd/src/m_class.c @@ -669,7 +669,7 @@ void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv) int narg = 0; t_pd *bonzo; - //fprinf(stderr,"\nstart %s %d\n", s->s_name, c->c_nmethod); + //fprintf(stderr,"\nstart %s %d\n", s->s_name, c->c_nmethod); /* check for messages that are handled by fixed slots in the class structure. We don't catch "pointer" though so that sending "pointer" diff --git a/pd/src/x_connective.c b/pd/src/x_connective.c index 2ca8ef53a..d001a4bef 100644 --- a/pd/src/x_connective.c +++ b/pd/src/x_connective.c @@ -1078,8 +1078,6 @@ static void trigger_list(t_trigger *x, t_symbol *s, int argc, t_atom *argv) else if (u->u_type == TR_SYMBOL) outlet_symbol(u->u_outlet, (argc ? atom_getsymbol(argv) : &s_symbol)); - else if (u->u_type == TR_ANYTHING) - outlet_anything(u->u_outlet, s, argc, argv); else if (u->u_type == TR_POINTER) { if (!argc || argv->a_type != TR_POINTER) @@ -1100,14 +1098,17 @@ static void trigger_list(t_trigger *x, t_symbol *s, int argc, t_atom *argv) static void trigger_anything(t_trigger *x, t_symbol *s, int argc, t_atom *argv) { + //fprintf(stderr,"trigger_anything %s\n", s->s_name); t_triggerout *u; int i; for (i = x->x_n, u = x->x_vec + i; u--, i--;) { if (u->u_type == TR_BANG) outlet_bang(u->u_outlet); - else if (u->u_type == TR_ANYTHING) + else if (u->u_type == TR_ANYTHING) { + //fprintf(stderr,"TR_ANYTHING\n"); outlet_anything(u->u_outlet, s, argc, argv); + } else if (u->u_type == TR_STATIC_FLOAT) { outlet_float(u->u_outlet, u->u_float); -- GitLab