Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11683
Modified Files: Tag: desiredata m_class.c desire.h Log Message: fixed serial for abstractions
Index: m_class.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/m_class.c,v retrieving revision 1.3.4.7.2.22.2.6 retrieving revision 1.3.4.7.2.22.2.7 diff -C2 -d -r1.3.4.7.2.22.2.6 -r1.3.4.7.2.22.2.7 *** m_class.c 8 Dec 2006 05:34:26 -0000 1.3.4.7.2.22.2.6 --- m_class.c 12 Dec 2006 20:13:54 -0000 1.3.4.7.2.22.2.7 *************** *** 518,529 **** class_loadsym = 0; current = s__X.s_thing; ! if ((fd = open_via_path(dir->s_name, s->s_name, ".pd", ! dirbuf, &nameptr, MAXPDSTRING, 0)) >= 0 || ! (fd = open_via_path(dir->s_name, s->s_name, ".pat", ! dirbuf, &nameptr, MAXPDSTRING, 0)) >= 0) { close (fd); if (!pd_setloadingabstraction(s)) { canvas_setargs(argc, argv); /* bug fix by Krzysztof Czaja */ binbuf_evalfile(gensym(nameptr), gensym(dirbuf)); --- 518,528 ---- class_loadsym = 0; current = s__X.s_thing; ! if ((fd = open_via_path(dir->s_name, s->s_name, ".pd", dirbuf, &nameptr, MAXPDSTRING, 0)) >= 0 || ! (fd = open_via_path(dir->s_name, s->s_name, ".pat", dirbuf, &nameptr, MAXPDSTRING, 0)) >= 0) { close (fd); if (!pd_setloadingabstraction(s)) { + pd_push_origin(0); canvas_setargs(argc, argv); /* bug fix by Krzysztof Czaja */ binbuf_evalfile(gensym(nameptr), gensym(dirbuf)); *************** *** 531,534 **** --- 530,534 ---- canvas_popabstraction((t_canvas *)(s__X.s_thing)); canvas_setargs(0, 0); + pd_pop_origin(); } else error("%s: can't load abstraction within itself\n", s->s_name);
Index: desire.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.h,v retrieving revision 1.1.2.49.2.7 retrieving revision 1.1.2.49.2.8 diff -C2 -d -r1.1.2.49.2.7 -r1.1.2.49.2.8 *** desire.h 8 Dec 2006 21:28:37 -0000 1.1.2.49.2.7 --- desire.h 12 Dec 2006 20:13:54 -0000 1.1.2.49.2.8 *************** *** 333,336 **** --- 333,339 ---- void pd_set_newest_debug (t_pd *x, const char *file, int line); #define pd_set_newest(x) pd_set_newest_debug(x,__FILE__,__LINE__) + struct t_manager; + void pd_push_origin(t_manager *orig); + void pd_pop_origin();
#if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)