Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27623
Modified Files: Tag: devel_0_39 desire.c desire.h Log Message: .
Index: desire.h =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.h,v retrieving revision 1.1.2.15 retrieving revision 1.1.2.16 diff -C2 -d -r1.1.2.15 -r1.1.2.16 *** desire.h 3 Sep 2006 03:47:14 -0000 1.1.2.15 --- desire.h 3 Sep 2006 04:23:43 -0000 1.1.2.16 *************** *** 61,75 **** #define t_tscalar struct _tscalar EXTERN_STRUCT _canvasenvironment; ! #define t_canvasenvironment struct _canvasenvironment EXTERN_STRUCT _fielddesc; #define t_fielddesc struct _fielddesc
- typedef struct _selection { - t_gobj *sel_what; - struct _selection *sel_next; - } t_selection; - /* this structure is instantiated whenever a glist becomes visible. */ - /* commented-out fields are not in DesireData */ typedef struct _editor { t_rtext *e_rtext; /* text responder linked list */ --- 61,69 ---- #define t_tscalar struct _tscalar EXTERN_STRUCT _canvasenvironment; ! #define t_canvasenvironment struct _canvasenvironment EXTERN_STRUCT _fielddesc; #define t_fielddesc struct _fielddesc
/* this structure is instantiated whenever a glist becomes visible. */ typedef struct _editor { t_rtext *e_rtext; /* text responder linked list */ *************** *** 77,86 **** t_gobj *e_grab; /* object being "dragged" */ t_binbuf *e_connectbuf; /* connections to deleted objects */ - t_binbuf *e_deleted; /* last stuff we deleted */ t_guiconnect *e_guiconnect; /* GUI connection for filtering messages */ struct _glist *e_glist; /* glist which owns this */ - unsigned int e_lastmoved: 1; /* one if mouse has moved since click */ - unsigned int e_textdirty: 1; /* one if e_textedfor has changed */ - unsigned int e_selectedline: 1; /* one if a line is selected */ } t_editor;
--- 71,76 ---- *************** *** 116,120 **** int gl_font; /* nominal font size in points, e.g., 10 */ struct _glist *gl_next; /* link in list of toplevels */ ! t_canvasenvironment *gl_env; /* root canvases and abstractions only */ unsigned int gl_havewindow:1; /* true if we own a window */ unsigned int gl_mapped:1; /* true if, moreover, it's "mapped" */ --- 106,110 ---- int gl_font; /* nominal font size in points, e.g., 10 */ struct _glist *gl_next; /* link in list of toplevels */ ! t_canvasenvironment *gl_env; /* for root canvases and abstractions only */ unsigned int gl_havewindow:1; /* true if we own a window */ unsigned int gl_mapped:1; /* true if, moreover, it's "mapped" */ *************** *** 123,132 **** unsigned int gl_willvis:1; /* make me visible after loading */ unsigned int gl_edit:1; /* edit mode */ - /* unsigned int gl_isdeleting:1; we're inside glist_delete -- hack! */ unsigned int gl_goprect:1; /* draw rectangle for graph-on-parent */ unsigned int gl_isgraph:1; /* show as graph on parent */ ! #ifdef DESIRE ! long gl_next_add; /* insertion point for next call to glist_add */ ! #endif };
--- 113,119 ---- unsigned int gl_willvis:1; /* make me visible after loading */ unsigned int gl_edit:1; /* edit mode */ unsigned int gl_goprect:1; /* draw rectangle for graph-on-parent */ unsigned int gl_isgraph:1; /* show as graph on parent */ ! long gl_next_add; /* insertion point for next call to glist_add (for future use!?) */ };
*************** *** 177,181 **** };
! /* structure for traversing all the connections in a glist */ typedef struct _linetraverser { t_canvas *tr_x; --- 164,168 ---- };
! /* structure for traversing all the connections in a glist */ typedef struct _linetraverser { t_canvas *tr_x; *************** *** 195,210 **** doesn't work on array elements... LATER reconsider this */
! typedef void (*t_parentgetrectfn)( t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! float basex, float basey, int *x1, int *y1, int *x2, int *y2); ! typedef void (*t_parentdisplacefn)(t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! float basex, float basey, int dx, int dy); ! typedef void (*t_parentselectfn)( t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! float basex, float basey, int state); ! typedef void (*t_parentactivatefn)(t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! float basex, float basey, int state); ! typedef void (*t_parentvisfn)( t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! float basex, float basey, int flag); ! typedef int (*t_parentclickfn)( t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl, ! t_scalar *sc, t_array *ap, float basex, float basey, int xpix, int ypix, int shift, int alt, int dbl, int doit);
--- 182,192 ---- doesn't work on array elements... LATER reconsider this */
! #define STUFF t_gobj *x, struct _glist *glist, t_word *data, t_template *tmpl ! typedef void (*t_parentgetrectfn)( STUFF, float basex, float basey, int *x1, int *y1, int *x2, int *y2); ! typedef void (*t_parentdisplacefn)(STUFF, float basex, float basey, int dx, int dy); ! typedef void (*t_parentselectfn)( STUFF, float basex, float basey, int state); ! typedef void (*t_parentactivatefn)(STUFF, float basex, float basey, int state); ! typedef void (*t_parentvisfn)( STUFF, float basex, float basey, int flag); ! typedef int (*t_parentclickfn)( STUFF, t_scalar *sc, t_array *ap, float basex, float basey, int xpix, int ypix, int shift, int alt, int dbl, int doit);
*************** *** 308,313 **** EXTERN void canvas_setusedastemplate(t_canvas *x); EXTERN t_canvas *canvas_getcurrent(void); - EXTERN void canvas_setcurrent(t_canvas *x); - 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); --- 290,293 ----
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.140 retrieving revision 1.1.2.141 diff -C2 -d -r1.1.2.140 -r1.1.2.141 *** desire.c 3 Sep 2006 03:47:13 -0000 1.1.2.140 --- desire.c 3 Sep 2006 04:23:42 -0000 1.1.2.141 *************** *** 353,362 **** }
! t_canvas *canvas_getcurrent(void) { ! return ((t_canvas *)pd_findbyclass(&s__X, canvas_class)); ! } ! ! void canvas_setcurrent (t_canvas *x) {pd_pushsym(&x->gl_pd);} ! void canvas_unsetcurrent(t_canvas *x) { pd_popsym(&x->gl_pd);}
t_canvasenvironment *canvas_getenv(t_canvas *x) { --- 353,357 ---- }
! t_canvas *canvas_getcurrent(void) {return ((t_canvas *)pd_findbyclass(&s__X, canvas_class));}
t_canvasenvironment *canvas_getenv(t_canvas *x) { *************** *** 383,389 **** if (*name == '$' && name[1] >= '0' && name[1] <= '9') { t_canvasenvironment *env = canvas_getenv(x); ! canvas_setcurrent(x); ret = binbuf_realizedollsym(gensym(name+1), env->ce_argc, env->ce_argv, 1); ! canvas_unsetcurrent(x); } else ret = s; --- 378,384 ---- if (*name == '$' && name[1] >= '0' && name[1] <= '9') { t_canvasenvironment *env = canvas_getenv(x); ! pd_pushsym((t_pd *)x); ret = binbuf_realizedollsym(gensym(name+1), env->ce_argc, env->ce_argv, 1); ! pd_popsym((t_pd *)x); } else ret = s; *************** *** 706,710 **** t_editor *x = (t_editor *)getbytes(sizeof(*x)); x->e_connectbuf = binbuf_new(); - x->e_deleted = binbuf_new(); x->e_glist = owner; sprintf(buf, ".x%lx", (long)owner); --- 701,704 ---- *************** *** 716,720 **** guiconnect_notarget(x->e_guiconnect, 1000); binbuf_free(x->e_connectbuf); - binbuf_free(x->e_deleted); freebytes((void *)x, sizeof(*x)); } --- 710,713 ---- *************** *** 997,1003 **** else if (ac && av->a_type == A_DOLLSYM) { t_canvasenvironment *e = canvas_getenv(x); ! canvas_setcurrent(x); canvas_rename(x, binbuf_realizedollsym(av->a_w.w_symbol, e->ce_argc, e->ce_argv, 1), 0); ! canvas_unsetcurrent(x); } else canvas_rename(x, gensym("Pd"), 0); --- 990,996 ---- else if (ac && av->a_type == A_DOLLSYM) { t_canvasenvironment *e = canvas_getenv(x); ! pd_pushsym((t_pd *)x); canvas_rename(x, binbuf_realizedollsym(av->a_w.w_symbol, e->ce_argc, e->ce_argv, 1), 0); ! pd_popsym((t_pd *)x); } else canvas_rename(x, gensym("Pd"), 0); *************** *** 1700,1706 **** }
static void array_resize_and_redraw(t_array *array, t_glist *glist, int n) { t_array *a2 = array; ! while (a2->a_gp.gp_stub->gs_which == GP_ARRAY) a2 = a2->a_gp.gp_stub->gs_un.gs_array; array_resize(array, n); gobj_changed(array,0); --- 1693,1701 ---- }
+ #define STUB(x) x->a_gp.gp_stub + static void array_resize_and_redraw(t_array *array, t_glist *glist, int n) { t_array *a2 = array; ! while (STUB(a2)->gs_which == GP_ARRAY) a2 = STUB(a2)->gs_un.gs_array; array_resize(array, n); gobj_changed(array,0); *************** *** 1876,1887 **** saveit = ((flags & 1) != 0); x = graph_scalar(gl, s, templatesym, saveit); - if (n <= 0) n = 100; array_resize(x->x_scalar->sc_vec[zonset].w_array, n); ! ! template_setfloat(template, gensym("style"), x->x_scalar->sc_vec, ! style, 1); ! template_setfloat(template, gensym("linewidth"), x->x_scalar->sc_vec, ! ((style == PLOTSTYLE_POINTS) ? 2 : 1), 1); x2 = pd_findbyclass(gensym("#A"), garray_class); if (x2) pd_unbind(x2, gensym("#A")); --- 1871,1878 ---- saveit = ((flags & 1) != 0); x = graph_scalar(gl, s, templatesym, saveit); if (n <= 0) n = 100; array_resize(x->x_scalar->sc_vec[zonset].w_array, n); ! template_setfloat(template, gensym("style"), x->x_scalar->sc_vec, style, 1); ! template_setfloat(template, gensym("linewidth"), x->x_scalar->sc_vec, style==PLOTSTYLE_POINTS?2:1, 1); x2 = pd_findbyclass(gensym("#A"), garray_class); if (x2) pd_unbind(x2, gensym("#A")); *************** *** 1904,1908 **** }
! /* this is called from the properties dialog window for an existing array */ void garray_arraydialog(t_garray *x, t_symbol *name, t_floatarg fsize, t_floatarg fflags, t_floatarg deleteit) { --- 1895,1899 ---- }
! /* this is called from the properties dialog window for an existing array */ void garray_arraydialog(t_garray *x, t_symbol *name, t_floatarg fsize, t_floatarg fflags, t_floatarg deleteit) { *************** *** 1933,1948 **** /* redraw the whole glist, just so the name change shows up */ if (x->x_glist->gl_havewindow) canvas_redraw(x->x_glist); ! else if (glist_isvisible(x->x_glist->gl_owner)) { ! gobj_changed(x,0); ! } } size = fsize; if (size < 1) size = 1; ! if (size != a->a_n) ! garray_resize(x, size); ! else if (style != stylewas) ! garray_fittograph(x, size, style); ! template_setfloat(scalartemplate, gensym("style"), ! x->x_scalar->sc_vec, (float)style, 0); garray_setsaveit(x, (saveit != 0)); garray_redraw(x); --- 1924,1934 ---- /* redraw the whole glist, just so the name change shows up */ if (x->x_glist->gl_havewindow) canvas_redraw(x->x_glist); ! else if (glist_isvisible(x->x_glist->gl_owner)) gobj_changed(x,0); } size = fsize; if (size < 1) size = 1; ! if (size != a->a_n) garray_resize(x, size); ! else if (style != stylewas) garray_fittograph(x, size, style); ! template_setfloat(scalartemplate, gensym("style"), x->x_scalar->sc_vec, (float)style, 0); garray_setsaveit(x, (saveit != 0)); garray_redraw(x); *************** *** 1962,1967 **** for (i = 0; i < ARRAYPAGESIZE && i < a->a_n; i++) { yval = *(float *)(a->a_vec + elemsize * i + yonset); ! sys_vgui(".%sArrayWindow.lb insert %d {%d) %g}\n", ! x->x_realname->s_name, i, i, yval); } } --- 1948,1952 ---- for (i = 0; i < ARRAYPAGESIZE && i < a->a_n; i++) { yval = *(float *)(a->a_vec + elemsize * i + yonset); ! sys_vgui(".%sArrayWindow.lb insert %d {%d) %g}\n", x->x_realname->s_name, i, i, yval); } } *************** *** 2007,2012 ****
void array_redraw(t_array *a, t_glist *glist) { ! while (a->a_gp.gp_stub->gs_which == GP_ARRAY) ! a = a->a_gp.gp_stub->gs_un.gs_array; scalar_redraw(a->a_gp.gp_un.gp_scalar, glist); } --- 1992,1996 ----
void array_redraw(t_array *a, t_glist *glist) { ! while (STUB(a)->gs_which == GP_ARRAY) a = STUB(a)->gs_un.gs_array; scalar_redraw(a->a_gp.gp_un.gp_scalar, glist); } *************** *** 2026,2030 **** wpix = glist_ytopixels(glist, basey + fielddesc_cvttocoord(yfielddesc, yval) + ! fielddesc_cvttocoord(wfielddesc, wval)) - ypix; if (wpix < 0) wpix = -wpix; } --- 2010,2014 ---- wpix = glist_ytopixels(glist, basey + fielddesc_cvttocoord(yfielddesc, yval) + ! fielddesc_cvttocoord(wfielddesc, wval)) - ypix; if (wpix < 0) wpix = -wpix; } *************** *** 2052,2058 **** static int array_motion_fatten;
! /* LATER protect against the template changing or the scalar disappearing ! probably by attaching a gpointer here ... */ ! #if 0 static void array_motion(void *z, t_floatarg dx, t_floatarg dy) { --- 2036,2041 ---- static int array_motion_fatten;
! /* LATER protect against the template changing or the scalar disappearing ! probably by attaching a gpointer here ... */ #if 0 static void array_motion(void *z, t_floatarg dx, t_floatarg dy) { *************** *** 2121,2126 **** int shift, int alt, int dbl, int doit);
! /* try clicking on an element of the array as a scalar (if clicking ! on the trace of the array failed) */ static int array_doclick_element(t_array *array, t_glist *glist, t_scalar *sc, t_array *ap, t_symbol *elemtemplatesym, float linewidth, float xloc, float xinc, float yloc, --- 2104,2109 ---- int shift, int alt, int dbl, int doit);
! /* try clicking on an element of the array as a scalar (if clicking ! on the trace of the array failed) */ static int array_doclick_element(t_array *array, t_glist *glist, t_scalar *sc, t_array *ap, t_symbol *elemtemplatesym, float linewidth, float xloc, float xinc, float yloc, *************** *** 2192,2201 **** } } if (best > 8) { ! if (scalarvis != 0) ! return array_doclick_element(array, glist, sc, ap, ! elemtemplatesym, linewidth, xloc, xinc, yloc, ! xfield, yfield, wfield, ! xpix, ypix, shift, alt, dbl, doit); ! else return 0; } best += 0.001; /* add truncation error margin */ --- 2175,2181 ---- } } if (best > 8) { ! if (scalarvis != 0) return array_doclick_element(array, glist, sc, ap, elemtemplatesym, linewidth, ! xloc, xinc, yloc, xfield, yfield, wfield, xpix, ypix, shift, alt, dbl, doit); ! return 0; } best += 0.001; /* add truncation error margin */ *************** *** 2206,2225 **** xfield, yfield, wfield, &pxpix, &pypix, &pwpix); if (pwpix < 4) pwpix = 4; ! dx = pxpix - xpix; ! if (dx < 0) dx = -dx; ! dy = pypix - ypix; ! if (dy < 0) dy = -dy; if (wonset >= 0) { ! dy2 = (pypix+pwpix) - ypix; if (dy2 < 0) dy2 = -dy2; ! dy3 = (pypix-pwpix) - ypix; if (dy3 < 0) dy3 = -dy3; if (yonset < 0) dy = 100; ! } ! else dy2 = dy3 = 100; if (dx + dy <= best || dx + dy2 <= best || dx + dy3 <= best) { ! if (dy < dy2 && dy < dy3) ! array_motion_fatten = 0; ! else if (dy2 < dy3) ! array_motion_fatten = -1; ! else array_motion_fatten = 1; if (doit) { char *elem = (char *)array->a_vec; --- 2186,2200 ---- xfield, yfield, wfield, &pxpix, &pypix, &pwpix); if (pwpix < 4) pwpix = 4; ! dx = pxpix-xpix; if (dx<0) dx=-dx; ! dy = pypix-ypix; if (dy<0) dy=-dy; if (wonset >= 0) { ! dy2 = pypix+pwpix-ypix; if (dy2<0) dy2=-dy2; ! dy3 = pypix-pwpix-ypix; if (dy3<0) dy3=-dy3; if (yonset < 0) dy = 100; ! } else dy2 = dy3 = 100; if (dx + dy <= best || dx + dy2 <= best || dx + dy3 <= best) { ! if (dy<dy2 && dy<dy3) array_motion_fatten = 0; ! else if (dy2<dy3) array_motion_fatten = -1; ! else array_motion_fatten = 1; if (doit) { char *elem = (char *)array->a_vec; *************** *** 2347,2352 **** sys_queuegui(&x->x_gobj, x->x_glist, garray_doredraw); else { ! if (x->x_listviewing) ! sys_vgui("pdtk_array_listview_fillpage %s\n", x->x_realname->s_name); } garray_update(x); --- 2322,2326 ---- sys_queuegui(&x->x_gobj, x->x_glist, garray_doredraw); else { ! if (x->x_listviewing) sys_vgui("pdtk_array_listview_fillpage %s\n", x->x_realname->s_name); } garray_update(x); *************** *** 5740,5758 **** }
- static void plot_displace(t_gobj *z, t_glist *glist, t_word *data, t_template *template, - float basex, float basey, int dx, int dy) { - /* not yet */ - } - - static void plot_select(t_gobj *z, t_glist *glist, t_word *data, t_template *template, - float basex, float basey, int state) { - /* not yet */ - } - - static void plot_activate(t_gobj *z, t_glist *glist, t_word *data, t_template *template, - float basex, float basey, int state) { - /* not yet */ - } - static void plot_vis(t_gobj *z, t_glist *glist, t_word *data, t_template *template, float basex, float basey, int tovis) { --- 5714,5717 ---- *************** *** 5944,5955 **** }
! t_parentwidgetbehavior plot_widgetbehavior = { ! plot_getrect, ! plot_displace, ! plot_select, ! plot_activate, ! plot_vis, ! plot_click, ! };
static void plot_setup(void) { --- 5903,5907 ---- }
! t_parentwidgetbehavior plot_widgetbehavior = {plot_getrect,0,0,0,plot_vis,plot_click};
static void plot_setup(void) { *************** *** 6066,6073 **** }
- static void drawnumber_select(t_gobj *z, t_glist *glist, t_word *data, t_template *template, - float basex, float basey, int state) {} - static void drawnumber_activate(t_gobj *z, t_glist *glist, t_word *data, t_template *template, - float basex, float basey, int state) {} static void drawnumber_vis(t_gobj *z, t_glist *glist, t_word *data, t_template *template, float basex, float basey, int vis) { --- 6018,6021 ---- *************** *** 6134,6144 ****
t_parentwidgetbehavior drawnumber_widgetbehavior = { ! drawnumber_getrect, ! drawnumber_displace, ! drawnumber_select, ! drawnumber_activate, ! drawnumber_vis, ! drawnumber_click, ! };
static void drawnumber_free(t_drawnumber *x) {} --- 6082,6086 ----
t_parentwidgetbehavior drawnumber_widgetbehavior = { ! drawnumber_getrect,drawnumber_displace,0,0,drawnumber_vis,drawnumber_click};
static void drawnumber_free(t_drawnumber *x) {} *************** *** 6367,6373 **** else { t_array *owner_array = gs->gs_un.gs_array; ! while (owner_array->a_gp.gp_stub->gs_which == GP_ARRAY) ! owner_array = owner_array->a_gp.gp_stub->gs_un.gs_array; ! glist = owner_array->a_gp.gp_stub->gs_un.gs_glist; } canvas = (t_pd *)glist_getcanvas(glist); --- 6309,6315 ---- else { t_array *owner_array = gs->gs_un.gs_array; ! while (STUB(owner_array)->gs_which == GP_ARRAY) ! owner_array = STUB(owner_array)->gs_un.gs_array; ! glist = STUB(owner_array)->gs_un.gs_glist; } canvas = (t_pd *)glist_getcanvas(glist); *************** *** 6529,6534 **** else sp->gv_w.w_float = 0; if (i) { ! if (x->x_issymbol) symbolinlet_new(&x->x_obj, &sp->gv_w.w_symbol); ! else floatinlet_new(&x->x_obj, &sp->gv_w.w_float); } } --- 6471,6476 ---- else sp->gv_w.w_float = 0; if (i) { ! if (x->x_issymbol) symbolinlet_new((t_text *)x, &sp->gv_w.w_symbol); ! else floatinlet_new((t_text *)x, &sp->gv_w.w_float); } } *************** *** 6564,6571 **** else { t_array *owner_array = gs->gs_un.gs_array; ! while (owner_array->a_gp.gp_stub->gs_which == GP_ARRAY) ! owner_array = owner_array->a_gp.gp_stub->gs_un.gs_array; ! scalar_redraw(owner_array->a_gp.gp_un.gp_scalar, ! owner_array->a_gp.gp_stub->gs_un.gs_glist); } } --- 6506,6511 ---- else { t_array *owner_array = gs->gs_un.gs_array; ! while (STUB(owner_array)->gs_which == GP_ARRAY) owner_array = STUB(owner_array)->gs_un.gs_array; ! scalar_redraw(owner_array->a_gp.gp_un.gp_scalar, STUB(owner_array)->gs_un.gs_glist); } } *************** *** 6776,6781 **** } else { t_array *o = gs->gs_un.gs_array; ! while (o->a_gp.gp_stub->gs_which == GP_ARRAY) o = o->a_gp.gp_stub->gs_un.gs_array; ! if (glist_isvisible(o->a_gp.gp_stub->gs_un.gs_glist)) sys_mgui((t_gobj *)(o->a_gp.gp_un.gp_scalar), "delete",""); } --- 6716,6721 ---- } else { t_array *o = gs->gs_un.gs_array; ! while (STUB(o)->gs_which == GP_ARRAY) o = STUB(o)->gs_un.gs_array; ! if (glist_isvisible(STUB(o)->gs_un.gs_glist)) sys_mgui((t_gobj *)(o->a_gp.gp_un.gp_scalar), "delete",""); } *************** *** 6798,6803 **** } else { t_array *o = gs->gs_un.gs_array; ! while (o->a_gp.gp_stub->gs_which == GP_ARRAY) o = o->a_gp.gp_stub->gs_un.gs_array; ! if (glist_isvisible(o->a_gp.gp_stub->gs_un.gs_glist)) gobj_changed((t_gobj *)(o->a_gp.gp_un.gp_scalar),0); } --- 6738,6743 ---- } else { t_array *o = gs->gs_un.gs_array; ! while (STUB(o)->gs_which == GP_ARRAY) o = STUB(o)->gs_un.gs_array; ! if (glist_isvisible(STUB(o)->gs_un.gs_glist)) gobj_changed((t_gobj *)(o->a_gp.gp_un.gp_scalar),0); } *************** *** 7108,7112 **** newest = 0; binbuf_gettext(b,&s,&n); ! canvas_setcurrent((t_canvas *)gl); canvas_getargs(&argc, &argv); binbuf_eval(b, &pd_objectmaker, argc, argv); --- 7048,7052 ---- newest = 0; binbuf_gettext(b,&s,&n); ! pd_pushsym((t_pd *)x); canvas_getargs(&argc, &argv); binbuf_eval(b, &pd_objectmaker, argc, argv); *************** *** 7129,7133 **** if (pd_class(&x->ob_pd) == vinlet_class) canvas_resortinlets(glist_getcanvas(gl)); if (pd_class(&x->ob_pd) == voutlet_class) canvas_resortoutlets(glist_getcanvas(gl)); ! canvas_unsetcurrent((t_canvas *)gl); }
--- 7069,7073 ---- if (pd_class(&x->ob_pd) == vinlet_class) canvas_resortinlets(glist_getcanvas(gl)); if (pd_class(&x->ob_pd) == voutlet_class) canvas_resortoutlets(glist_getcanvas(gl)); ! pd_popsym((t_pd *)gl); }
*************** *** 7613,7617 **** /* canvas_reorder_last(x,i); */ gobj_changed(x,0); ! /*err: canvas_unsetcurrent(x);*/ }
--- 7553,7557 ---- /* canvas_reorder_last(x,i); */ gobj_changed(x,0); ! /*err: pd_popsym((t_pd *)x);*/ }