From 21c068f1916330e90f814bed461fe0821d1665ec Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sun, 9 Oct 2011 16:36:37 +0000 Subject: checked in pd-0.43-0.src.tar.gz svn path=/trunk/; revision=15557 --- pd/src/m_class.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'pd/src/m_class.c') diff --git a/pd/src/m_class.c b/pd/src/m_class.c index 93d9c71b..0c67d34f 100644 --- a/pd/src/m_class.c +++ b/pd/src/m_class.c @@ -522,6 +522,7 @@ static t_symbol *addfileextent(t_symbol *s) return (gensym(namebuf)); } +#define MAXOBJDEPTH 1000 static int tryingalready; void canvas_popabstraction(t_canvas *x); @@ -537,14 +538,17 @@ void new_anything(void *dummy, t_symbol *s, int argc, t_atom *argv) t_pd *current; int fd; char dirbuf[MAXPDSTRING], *nameptr; - if (tryingalready) return; + if (tryingalready>MAXOBJDEPTH){ + error("maximum object loading depth %d reached", MAXOBJDEPTH); + return; + } newest = 0; class_loadsym = s; if (sys_load_lib(canvas_getcurrent(), s->s_name)) { - tryingalready = 1; + tryingalready++; typedmess(dummy, s, argc, argv); - tryingalready = 0; + tryingalready--; return; } class_loadsym = 0; -- cgit v1.2.1