From d176354866603e3d803b21a8c3e024eeedc9d9cb Mon Sep 17 00:00:00 2001 From: Guillem <guillembartrina@gmail.com> Date: Sun, 27 Sep 2020 17:32:59 +0200 Subject: [PATCH] fix abinfo error message on patch loading --- pd/src/g_canvas.c | 2 +- pd/src/g_canvas.h | 1 + pd/src/x_interface.c | 9 +++++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/pd/src/g_canvas.c b/pd/src/g_canvas.c index 94807c27a..004eab33a 100644 --- a/pd/src/g_canvas.c +++ b/pd/src/g_canvas.c @@ -2508,7 +2508,7 @@ static t_symbol *ab_extend_name(t_canvas *x, t_symbol *s) return gensym(res); } -static int abframe = 0; +int abframe = 0; static void canvas_abframe(t_canvas *x, t_float val) { abframe = val; diff --git a/pd/src/g_canvas.h b/pd/src/g_canvas.h index 9d1561421..8be84e871 100644 --- a/pd/src/g_canvas.h +++ b/pd/src/g_canvas.h @@ -580,6 +580,7 @@ EXTERN void canvas_unsetcurrent(t_canvas *x); EXTERN t_symbol *canvas_realizedollar(t_canvas *x, t_symbol *s); EXTERN t_canvas *canvas_getrootfor(t_canvas *x); EXTERN t_canvas *canvas_getrootfor_ab(t_canvas *x); +EXTERN int abframe; EXTERN void canvas_dirty(t_canvas *x, t_floatarg n); EXTERN int canvas_getfont(t_canvas *x); typedef int (*t_canvasapply)(t_canvas *x, t_int x1, t_int x2, t_int x3); diff --git a/pd/src/x_interface.c b/pd/src/x_interface.c index 80a8c85ad..6753ea626 100644 --- a/pd/src/x_interface.c +++ b/pd/src/x_interface.c @@ -1652,8 +1652,13 @@ void *abinfo_new(void) } else { - error("abinfo: only instantiable inside an ab object"); - x = 0; + if(!abframe) + { + error("abinfo: only instantiable inside an ab object"); + x = 0; + } + else + x = pd_new(text_class); } return (x); } -- GitLab