Skip to content
Snippets Groups Projects
Commit a4149955 authored by Ivica Bukvic's avatar Ivica Bukvic
Browse files

fixed regression from IOhannes' proposed fix (see...

fixed regression from IOhannes' proposed fix (see e7acc479 commit) that affects propagation of scalar pointers through the trigger object. Use scalar-help.pd to test.
parent 70065c72
No related branches found
No related tags found
No related merge requests found
...@@ -669,7 +669,7 @@ void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv) ...@@ -669,7 +669,7 @@ void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv)
int narg = 0; int narg = 0;
t_pd *bonzo; 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 /* check for messages that are handled by fixed slots in the class
structure. We don't catch "pointer" though so that sending "pointer" structure. We don't catch "pointer" though so that sending "pointer"
......
...@@ -1078,8 +1078,6 @@ static void trigger_list(t_trigger *x, t_symbol *s, int argc, t_atom *argv) ...@@ -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) else if (u->u_type == TR_SYMBOL)
outlet_symbol(u->u_outlet, outlet_symbol(u->u_outlet,
(argc ? atom_getsymbol(argv) : &s_symbol)); (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) else if (u->u_type == TR_POINTER)
{ {
if (!argc || argv->a_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) ...@@ -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) 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; t_triggerout *u;
int i; int i;
for (i = x->x_n, u = x->x_vec + i; u--, i--;) for (i = x->x_n, u = x->x_vec + i; u--, i--;)
{ {
if (u->u_type == TR_BANG) if (u->u_type == TR_BANG)
outlet_bang(u->u_outlet); 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); outlet_anything(u->u_outlet, s, argc, argv);
}
else if (u->u_type == TR_STATIC_FLOAT) else if (u->u_type == TR_STATIC_FLOAT)
{ {
outlet_float(u->u_outlet, u->u_float); outlet_float(u->u_outlet, u->u_float);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment