diff --git a/pd/src/x_connective.c b/pd/src/x_connective.c index 40f84e109802b493015c7e8b84655dc95fbb93e1..787579d8545520296b478d3bfd2499304f65d82e 100644 --- a/pd/src/x_connective.c +++ b/pd/src/x_connective.c @@ -596,7 +596,12 @@ static void route_list(t_route *x, t_symbol *sel, int argc, t_atom *argv) if (argc > 1 && argv[1].a_type == A_SYMBOL) outlet_anything(e->e_outlet, argv[1].a_w.w_symbol, argc-2, argv+2); - else outlet_list(e->e_outlet, 0, argc-1, argv+1); + else { + if (argc > 1) + outlet_list(e->e_outlet, 0, argc-1, argv+1); + else + outlet_list(e->e_outlet, 0, argc, argv); + } return; } } @@ -673,6 +678,7 @@ static void *route_new(t_symbol *s, int argc, t_atom *argv) SETFLOAT(&a, 0); argv = &a; } + x->x_type = argv[0].a_type; x->x_nelement = argc; x->x_vec = (t_routeelement *)getbytes(argc * sizeof(*x->x_vec)); for (n = 0, e = x->x_vec; n < argc; n++, e++) @@ -688,7 +694,6 @@ static void *route_new(t_symbol *s, int argc, t_atom *argv) } if (argc == 1) { - x->x_type = argv[0].a_type; route_proxy_init(&x->x_pxy, x); inlet_new(&x->x_obj, &x->x_pxy.l_pd, 0, 0); /*if (argv->a_type == A_FLOAT)