Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15811
Modified Files:
Tag: devel_0_39
desire.c
Log Message:
cleanup.
Index: desire.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v
retrieving revision 1.1.2.132
retrieving revision 1.1.2.133
diff -C2 -d -r1.1.2.132 -r1.1.2.133
*** desire.c 2 Sep 2006 06:36:41 -0000 1.1.2.132
--- desire.c 2 Sep 2006 07:11:32 -0000 1.1.2.133
***************
*** 692,696 ****
t_gobj *y;
if (!x->gl_havewindow) {bug("canvas_map"); canvas_vis(x,1);}
! glist_each(y,x) {gobj_changed(y,0); gobj_vis(y, x, 1);}
/*for (sel = x->gl_editor->e_selection; sel; sel = sel->sel_next)
gobj_select(sel->sel_what, x, 1);*/
--- 692,696 ----
t_gobj *y;
if (!x->gl_havewindow) {bug("canvas_map"); canvas_vis(x,1);}
! glist_each(y,x) gobj_changed(y,0);
/*for (sel = x->gl_editor->e_selection; sel; sel = sel->sel_next)
gobj_select(sel->sel_what, x, 1);*/
***************
*** 798,807 ****
and is visible, show ourselves on parent. */
if (glist_isgraph(x) && x->gl_owner) {
- t_glist *gl2 = x->gl_owner;
canvas_create_editor(x, 1);
- if (glist_isvisible(gl2)) gobj_vis(&x->gl_gobj, gl2, 0);
x->gl_havewindow = 0;
gobj_unsubscribe((t_gobj *)x,(t_gobj *)manager);
- if (glist_isvisible(gl2)) gobj_vis(&x->gl_gobj, gl2, 1);
} else {
x->gl_havewindow = 0;
--- 798,804 ----
***************
*** 811,832 ****
}
! /* we call this on a non-toplevel glist to "open" it into its
! own window. */
! static void glist_menu_open(t_glist *x)
! {
! if (glist_isvisible(x) && !glist_istoplevel(x))
! {
t_glist *gl2 = x->gl_owner;
! if (!gl2)
! bug("canvas_vis"); /* shouldn't happen but don't get too upset. */
! else
! {
! /* erase ourself in parent window */
! gobj_vis(&x->gl_gobj, gl2, 0);
! /* get rid of our editor (and subeditors) */
! canvas_create_editor(x, 0);
x->gl_havewindow = 1;
! /* redraw ourself in parent window (blanked out this time) */
! gobj_vis(&x->gl_gobj, gl2, 1);
}
}
--- 808,820 ----
}
! /* we call this on a non-toplevel glist to "open" it into its own window. */
! static void glist_menu_open(t_glist *x) {
! if (glist_isvisible(x) && !glist_istoplevel(x)) {
t_glist *gl2 = x->gl_owner;
! if (!gl2) bug("canvas_vis"); /* shouldn't happen but don't get too upset. */
! else {
! canvas_create_editor(x,0);
x->gl_havewindow = 1;
! gobj_changed(x,0);
}
}
***************
*** 890,894 ****
t_outconnect *oc;
linetraverser_start(&t, x);
! while (oc = linetraverser_next(&t))
if (t.tr_ob == text || t.tr_ob2 == text)
obj_disconnect(t.tr_ob, t.tr_outno, t.tr_ob2, t.tr_inno);
--- 878,882 ----
t_outconnect *oc;
linetraverser_start(&t, x);
! while ((oc = linetraverser_next(&t)))
if (t.tr_ob == text || t.tr_ob2 == text)
obj_disconnect(t.tr_ob, t.tr_outno, t.tr_ob2, t.tr_inno);
***************
*** 1379,1392 ****
}
! /* recursively check for abstractions to reload as result of a save.
! Don't reload the one we just saved ("except") though. */
! /* LATER try to do the same trick for externs. */
! static void glist_doreload(t_glist *gl, t_symbol *name, t_symbol *dir,
! t_gobj *except)
! {
t_gobj *g;
int i, nobj = glist_getindex(gl, 0); /* number of objects */
! for (g = gl->gl_list, i = 0; g && i < nobj; i++)
! {
if (g != except && pd_class(&g->g_pd) == canvas_class &&
canvas_isabstraction((t_canvas *)g) &&
--- 1367,1377 ----
}
! /* recursively check for abstractions to reload as result of a save.
! Don't reload the one we just saved ("except") though. */
! /* LATER try to do the same trick for externs. */
! static void glist_doreload(t_glist *gl, t_symbol *name, t_symbol *dir, t_gobj *except) {
t_gobj *g;
int i, nobj = glist_getindex(gl, 0); /* number of objects */
! for (g = gl->gl_list, i = 0; g && i < nobj; i++) {
if (g != except && pd_class(&g->g_pd) == canvas_class &&
canvas_isabstraction((t_canvas *)g) &&
***************
*** 1404,1410 ****
if (!hadwindow)
canvas_vis(glist_getcanvas(gl), 0);
! }
! else
! {
if (g != except && pd_class(&g->g_pd) == canvas_class)
glist_doreload((t_canvas *)g, name, dir, except);
--- 1389,1393 ----
if (!hadwindow)
canvas_vis(glist_getcanvas(gl), 0);
! } else {
if (g != except && pd_class(&g->g_pd) == canvas_class)
glist_doreload((t_canvas *)g, name, dir, except);
***************
*** 1415,1424 ****
/* call canvas_doreload on everyone */
! void canvas_reload(t_symbol *name, t_symbol *dir, t_gobj *except)
! {
t_canvas *x;
! /* find all root canvases */
! for (x = canvas_list; x; x = x->gl_next)
! glist_doreload(x, name, dir, except);
}
--- 1398,1405 ----
/* call canvas_doreload on everyone */
! void canvas_reload(t_symbol *name, t_symbol *dir, t_gobj *except) {
t_canvas *x;
! /* find all root canvases */
! for (x = canvas_list; x; x = x->gl_next) glist_doreload(x, name, dir, except);
}
***************
*** 1444,1468 ****
}
- /* check if a point lies in a gobj. */
- int canvas_hitbox(t_canvas *x, t_gobj *y, int xpos, int ypos,
- int *x1p, int *y1p, int *x2p, int *y2p)
- {
- int x1, y1, x2, y2;
- t_text *ob;
- if ((ob = pd_checkobject(&y->g_pd)) &&
- !text_shouldvis(ob, x))
- return (0);
- gobj_getrect(y, x, &x1, &y1, &x2, &y2);
- if (xpos >= x1 && xpos <= x2 && ypos >= y1 && ypos <= y2)
- {
- *x1p = x1;
- *y1p = y1;
- *x2p = x2;
- *y2p = y2;
- return (1);
- }
- else return (0);
- }
-
/* set a canvas up as a graph-on-parent. Set reasonable defaults for
any missing paramters and redraw things if necessary. */
--- 1425,1428 ----
***************
*** 1588,1638 ****
}
- /* put up a dialog which may call canvas_font back to do the work */
- static void canvas_menufont(t_canvas *x)
- {
- char buf[80];
- t_canvas *x2 = canvas_getrootfor(x);
- gfxstub_deleteforkey(x2);
- sprintf(buf, "pdtk_canvas_dofont %%s %d\n", x2->gl_font);
- gfxstub_new(&x2->gl_pd, &x2->gl_pd, buf);
- }
-
static int canvas_find_index1, canvas_find_index2;
static t_binbuf *canvas_findbuf;
int binbuf_match(t_binbuf *inbuf, t_binbuf *searchbuf);
! /* find an atom or string of atoms */
! static int canvas_dofind(t_canvas *x, int *myindex1p)
! {
t_gobj *y;
int myindex1 = *myindex1p, myindex2;
! if (myindex1 >= canvas_find_index1)
! {
! for (y=x->gl_list, myindex2=0; y; y=y->g_next, myindex2++)
! {
t_object *ob = pd_checkobject(&y->g_pd);
if (ob && binbuf_match(ob->ob_binbuf, canvas_findbuf)) {
if (myindex1 > canvas_find_index1 ||
! (myindex1 == canvas_find_index1 && myindex2 > canvas_find_index2))
! {
canvas_find_index1 = myindex1;
canvas_find_index2 = myindex2;
vmess(&x->gl_pd, gensym("menu-open"), "");
canvas_editmode(x, 1.);
! return (1);
}
}
}
}
! for (y = x->gl_list, myindex2 = 0; y; y = y->g_next, myindex2++)
! {
! if (pd_class(&y->g_pd) == canvas_class)
! {
(*myindex1p)++;
! if (canvas_dofind((t_canvas *)y, myindex1p))
! return (1);
}
}
! return (0);
}
--- 1548,1581 ----
}
static int canvas_find_index1, canvas_find_index2;
static t_binbuf *canvas_findbuf;
int binbuf_match(t_binbuf *inbuf, t_binbuf *searchbuf);
! /* find an atom or string of atoms */
! static int canvas_dofind(t_canvas *x, int *myindex1p) {
t_gobj *y;
int myindex1 = *myindex1p, myindex2;
! if (myindex1 >= canvas_find_index1) {
! for (y=x->gl_list, myindex2=0; y; y=y->g_next, myindex2++) {
t_object *ob = pd_checkobject(&y->g_pd);
if (ob && binbuf_match(ob->ob_binbuf, canvas_findbuf)) {
if (myindex1 > canvas_find_index1 ||
! (myindex1 == canvas_find_index1 && myindex2 > canvas_find_index2)) {
canvas_find_index1 = myindex1;
canvas_find_index2 = myindex2;
vmess(&x->gl_pd, gensym("menu-open"), "");
canvas_editmode(x, 1.);
! return 1;
}
}
}
}
! for (y = x->gl_list, myindex2 = 0; y; y = y->g_next, myindex2++) {
! if (pd_class(&y->g_pd) == canvas_class) {
(*myindex1p)++;
! if (canvas_dofind((t_canvas *)y, myindex1p)) return 1;
}
}
! return 0;
}
***************
*** 1827,1874 ****
}
- /* called by canvas_font below */
- static void canvas_dofont(t_canvas *x, t_floatarg font, t_floatarg xresize,
- t_floatarg yresize)
- {
- t_gobj *y;
- x->gl_font = font;
- if (xresize != 1 || yresize != 1)
- {
- for (y = x->gl_list; y; y = y->g_next)
- {
- int x1, x2, y1, y2, nx1, ny1;
- gobj_getrect(y, x, &x1, &y1, &x2, &y2);
- nx1 = x1 * xresize + 0.5;
- ny1 = y1 * yresize + 0.5;
- gobj_displace(y, x, nx1-x1, ny1-y1);
- }
- }
- if (glist_isvisible(x))
- glist_redraw(x);
- for (y = x->gl_list; y; y = y->g_next)
- if (pd_class(&y->g_pd) == canvas_class
- && !canvas_isabstraction((t_canvas *)y))
- canvas_dofont((t_canvas *)y, font, xresize, yresize);
- }
-
- /* canvas_menufont calls up a TK dialog which calls this back */
- static void canvas_font(t_canvas *x, t_floatarg font, t_floatarg resize,
- t_floatarg whichresize)
- {
- float realresize, realresx = 1, realresy = 1;
- t_canvas *x2 = canvas_getrootfor(x);
- if (!resize) realresize = 1;
- else
- {
- if (resize < 20) resize = 20;
- if (resize > 500) resize = 500;
- realresize = resize * 0.01;
- }
- if (whichresize != 3) realresx = realresize;
- if (whichresize != 2) realresy = realresize;
- canvas_dofont(x2, font, realresx, realresy);
- sys_defaultfont = font;
- }
-
static t_glist *canvas_last_glist;
static int canvas_last_glist_x, canvas_last_glist_y;
--- 1770,1773 ----
***************
*** 3148,3152 ****
canvas_redrawallfortemplate(template_findbyname(canvas_makebindsym(glist_getcanvas(x)->gl_name)), 2);
! canvas_deletelinesfor(x,y);
gobj_delete(y, x);
--- 3047,3051 ----
canvas_redrawallfortemplate(template_findbyname(canvas_makebindsym(glist_getcanvas(x)->gl_name)), 2);
! canvas_deletelinesfor(x,(t_text *)y);
gobj_delete(y, x);
***************
*** 3192,3196 ****
t_canvas *glist_getcanvas(t_glist *x) {
while (x->gl_owner && !x->gl_havewindow && x->gl_isgraph) x = x->gl_owner;
! return (t_canvas *)x;
}
--- 3091,3095 ----
t_canvas *glist_getcanvas(t_glist *x) {
while (x->gl_owner && !x->gl_havewindow && x->gl_isgraph) x = x->gl_owner;
! return x;
}
***************
*** 3797,3806 ****
for (y = x->gl_list; y; y = y->g_next)
{
! int x1, y1, x2, y2;
/* check if the object wants to be clicked */
! if (canvas_hitbox(x, y, xpix, ypix, &x1, &y1, &x2, &y2)
&& (clickreturned = gobj_click(y, x, xpix, ypix,
shift, alt, 0, doit)))
! break;
}
return clickreturned;
--- 3696,3705 ----
for (y = x->gl_list; y; y = y->g_next)
{
! /*int x1, y1, x2, y2;*/
/* check if the object wants to be clicked */
! /*if (canvas_hitbox(x, y, xpix, ypix, &x1, &y1, &x2, &y2)
&& (clickreturned = gobj_click(y, x, xpix, ypix,
shift, alt, 0, doit)))
! break;*/
}
return clickreturned;
***************
*** 8578,8591 ****
typedef struct _gatom {
t_text a_text;
! t_atom a_atom; /* this holds the value and the type */
! t_glist *a_glist; /* owning glist */
! t_float a_toggle; /* value to toggle to */
! t_float a_draghi; /* high end of drag range */
! t_float a_draglo; /* low end of drag range */
! t_symbol *a_label; /* symbol to show as label next to box */
! t_symbol *a_symfrom; /* "receive" name -- bind ourselvs to this */
! t_symbol *a_symto; /* "send" name -- send to this on output */
! char a_shift; /* was shift key down when dragging started? */
! char a_wherelabel; /* 0-3 for left, right, above, below */
t_symbol *a_expanded_to; /* a_symto after $0, $1, ... expansion */
} t_gatom;
--- 8477,8490 ----
typedef struct _gatom {
t_text a_text;
! t_atom a_atom; /* this holds the value and the type */
! t_glist *a_glist; /* owning glist */
! t_float a_toggle; /* value to toggle to */
! t_float a_draghi; /* high end of drag range */
! t_float a_draglo; /* low end of drag range */
! t_symbol *a_label; /* symbol to show as label next to box */
! t_symbol *a_symfrom;/* "receive" name -- bind ourselvs to this */
! t_symbol *a_symto; /* "send" name -- send to this on output */
! char a_shift; /* was shift key down when dragging started? */
! char a_wherelabel; /* 0-3 for left, right, above, below */
t_symbol *a_expanded_to; /* a_symto after $0, $1, ... expansion */
} t_gatom;
***************
*** 8614,8643 ****
}
! static void gatom_retext(t_gatom *x, int senditup) {
! binbuf_clear(x->a_text.te_binbuf);
! binbuf_add(x->a_text.te_binbuf, 1, &x->a_atom);
! if (senditup) glist_retext(x->a_glist, &x->a_text);
! }
!
! static void gatom_set(t_gatom *x, t_symbol *s, int argc, t_atom *argv)
! {
t_atom oldatom = x->a_atom;
int senditup = 0;
if (!argc) return;
! if (x->a_atom.a_type == A_FLOAT)
! x->a_atom.a_w.w_float = atom_getfloat(argv),
! senditup = (x->a_atom.a_w.w_float != oldatom.a_w.w_float);
! else if (x->a_atom.a_type == A_SYMBOL)
! x->a_atom.a_w.w_symbol = atom_getsymbol(argv),
! senditup = (x->a_atom.a_w.w_symbol != oldatom.a_w.w_symbol);
! gatom_retext(x, senditup);
! // x->a_buf[0] = 0;
}
static void gatom_bang(t_gatom *x) {
t_symbol *s = x->a_expanded_to;
if (x->a_atom.a_type == A_FLOAT) {
! if (x->a_text.te_outlet)
! outlet_float(x->a_text.te_outlet, x->a_atom.a_w.w_float);
if (*s->s_name && s->s_thing) {
if (x->a_symto == x->a_symfrom) goto err;
--- 8513,8535 ----
}
! static void gatom_set(t_gatom *x, t_symbol *s, int argc, t_atom *argv) {
t_atom oldatom = x->a_atom;
int senditup = 0;
if (!argc) return;
! if (x->a_atom.a_type == A_FLOAT) {
! x->a_atom.a_w.w_float = atom_getfloat(argv);
! senditup = x->a_atom.a_w.w_float != oldatom.a_w.w_float;
! } else if (x->a_atom.a_type == A_SYMBOL) {
! x->a_atom.a_w.w_symbol = atom_getsymbol(argv);
! senditup = x->a_atom.a_w.w_symbol != oldatom.a_w.w_symbol;
! }
! if (senditup) gobj_changed(x,0);
}
static void gatom_bang(t_gatom *x) {
t_symbol *s = x->a_expanded_to;
+ t_outlet *o = x->a_text.te_outlet;
if (x->a_atom.a_type == A_FLOAT) {
! if (o) outlet_float(o, x->a_atom.a_w.w_float);
if (*s->s_name && s->s_thing) {
if (x->a_symto == x->a_symfrom) goto err;
***************
*** 8645,8650 ****
}
} else if (x->a_atom.a_type == A_SYMBOL) {
! if (x->a_text.te_outlet)
! outlet_symbol(x->a_text.te_outlet, x->a_atom.a_w.w_symbol);
if (*x->a_symto->s_name && s->s_thing) {
if (x->a_symto == x->a_symfrom) goto err;
--- 8537,8541 ----
}
} else if (x->a_atom.a_type == A_SYMBOL) {
! if (o) outlet_symbol(o, x->a_atom.a_w.w_symbol);
if (*x->a_symto->s_name && s->s_thing) {
if (x->a_symto == x->a_symfrom) goto err;
***************
*** 8664,8669 ****
/* message back from dialog window */
! static void gatom_param(t_gatom *x, t_symbol *sel, int argc, t_atom *argv)
! {
t_float width = atom_getfloatarg(0, argc, argv);
t_float draglo = atom_getfloatarg(1, argc, argv);
--- 8555,8559 ----
/* message back from dialog window */
! static void gatom_param(t_gatom *x, t_symbol *sel, int argc, t_atom *argv) {
t_float width = atom_getfloatarg(0, argc, argv);
t_float draglo = atom_getfloatarg(1, argc, argv);
***************
*** 8673,8687 ****
t_symbol *symfrom = gatom_unescapit(atom_getsymbolarg(5, argc, argv));
t_symbol *symto = gatom_unescapit(atom_getsymbolarg(6, argc, argv));
! gobj_vis(&x->a_text.te_g, x->a_glist, 0);
! if (!*symfrom->s_name && *x->a_symfrom->s_name) inlet_new(&x->a_text, &x->a_text.te_pd, 0, 0);
! else if (*symfrom->s_name && !*x->a_symfrom->s_name && x->a_text.te_inlet) {
! canvas_deletelinesforio(x->a_glist, &x->a_text, x->a_text.te_inlet, 0);
! inlet_free(x->a_text.te_inlet);
}
if (!*symto->s_name && *x->a_symto->s_name) outlet_new(&x->a_text, 0);
! else if (*symto->s_name && !*x->a_symto->s_name && x->a_text.te_outlet) {
! canvas_deletelinesforio(x->a_glist, &x->a_text, 0, x->a_text.te_outlet);
! outlet_free(x->a_text.te_outlet);
}
if (draglo >= draghi) draglo = draghi = 0;
--- 8563,8577 ----
t_symbol *symfrom = gatom_unescapit(atom_getsymbolarg(5, argc, argv));
t_symbol *symto = gatom_unescapit(atom_getsymbolarg(6, argc, argv));
+ t_text *t = (t_text *)x;
! if (!*symfrom->s_name && *x->a_symfrom->s_name) inlet_new(t, (t_pd *)t, 0, 0);
! else if (*symfrom->s_name && !*x->a_symfrom->s_name && t->te_inlet) {
! canvas_deletelinesforio(x->a_glist, t, t->te_inlet, 0);
! inlet_free(t->te_inlet);
}
if (!*symto->s_name && *x->a_symto->s_name) outlet_new(&x->a_text, 0);
! else if (*symto->s_name && !*x->a_symto->s_name && t->te_outlet) {
! canvas_deletelinesforio(x->a_glist, t, 0, t->te_outlet);
! outlet_free(t->te_outlet);
}
if (draglo >= draghi) draglo = draghi = 0;
***************
*** 8703,8707 ****
t_gatom *x = (t_gatom *)pd_new(gatom_class);
t_atom at;
! x->a_text.te_width = 0; /* don't know it yet. */
x->a_text.te_type = T_ATOM;
x->a_text.te_binbuf = binbuf_new();
--- 8593,8597 ----
t_gatom *x = (t_gatom *)pd_new(gatom_class);
t_atom at;
! x->a_text.te_width = 0; /* don't know it yet. */
x->a_text.te_type = T_ATOM;
x->a_text.te_binbuf = binbuf_new();
***************
*** 8727,8738 ****
if (argc > 1) {
/* create from file. x, y, width, low-range, high-range, flags,
! label, receive-name, send-name */
x->a_text.te_xpix = atom_getfloatarg(0, argc, argv);
x->a_text.te_ypix = atom_getfloatarg(1, argc, argv);
x->a_text.te_width = atom_getintarg(2, argc, argv);
! /* sanity check because some very old patches have trash in this
! field... remove this in 2003 or so: */
! if (x->a_text.te_width < 0 || x->a_text.te_width > 500)
! x->a_text.te_width = 4;
x->a_draglo = atom_getfloatarg(3, argc, argv);
x->a_draghi = atom_getfloatarg(4, argc, argv);
--- 8617,8627 ----
if (argc > 1) {
/* create from file. x, y, width, low-range, high-range, flags,
! label, receive-name, send-name */
x->a_text.te_xpix = atom_getfloatarg(0, argc, argv);
x->a_text.te_ypix = atom_getfloatarg(1, argc, argv);
x->a_text.te_width = atom_getintarg(2, argc, argv);
! /* sanity check because some very old patches have trash in this
! field... remove this in 2003 or so: */
! if (x->a_text.te_width < 0 || x->a_text.te_width > 500) x->a_text.te_width = 4;
x->a_draglo = atom_getfloatarg(3, argc, argv);
x->a_draghi = atom_getfloatarg(4, argc, argv);
***************
*** 8741,8759 ****
x->a_symfrom = gatom_unescapit(atom_getsymbolarg(7, argc, argv));
if (*x->a_symfrom->s_name)
! pd_bind(&x->a_text.te_pd,
! canvas_realizedollar(x->a_glist, x->a_symfrom));
x->a_symto = gatom_unescapit(atom_getsymbolarg(8, argc, argv));
x->a_expanded_to = canvas_realizedollar(x->a_glist, x->a_symto);
! if (x->a_symto == &s_)
! outlet_new(&x->a_text,
! x->a_atom.a_type == A_FLOAT ? &s_float: &s_symbol);
! if (x->a_symfrom == &s_)
! inlet_new(&x->a_text, &x->a_text.te_pd, 0, 0);
glist_add(gl, &x->a_text.te_g);
} else {
int xpix, ypix;
! outlet_new(&x->a_text,
! x->a_atom.a_type == A_FLOAT ? &s_float: &s_symbol);
inlet_new(&x->a_text, &x->a_text.te_pd, 0, 0);
pd_vmess(&gl->gl_pd, gensym("editmode"), "i", 1);
--- 8630,8643 ----
x->a_symfrom = gatom_unescapit(atom_getsymbolarg(7, argc, argv));
if (*x->a_symfrom->s_name)
! pd_bind(&x->a_text.te_pd, canvas_realizedollar(x->a_glist, x->a_symfrom));
x->a_symto = gatom_unescapit(atom_getsymbolarg(8, argc, argv));
x->a_expanded_to = canvas_realizedollar(x->a_glist, x->a_symto);
! if (x->a_symto == &s_) outlet_new(&x->a_text, x->a_atom.a_type == A_FLOAT ? &s_float: &s_symbol);
! if (x->a_symfrom == &s_) inlet_new(&x->a_text, &x->a_text.te_pd, 0, 0);
glist_add(gl, &x->a_text.te_g);
} else {
int xpix, ypix;
! outlet_new(&x->a_text, x->a_atom.a_type == A_FLOAT ? &s_float: &s_symbol);
inlet_new(&x->a_text, &x->a_text.te_pd, 0, 0);
pd_vmess(&gl->gl_pd, gensym("editmode"), "i", 1);
***************
*** 8772,8777 ****
static void gatom_free(t_gatom *x) {
! if (*x->a_symfrom->s_name)
! pd_unbind((t_pd *)x, canvas_realizedollar(x->a_glist, x->a_symfrom));
gfxstub_deleteforkey(x);
}
--- 8656,8660 ----
static void gatom_free(t_gatom *x) {
! if (*x->a_symfrom->s_name) pd_unbind((t_pd *)x, canvas_realizedollar(x->a_glist, x->a_symfrom));
gfxstub_deleteforkey(x);
}
***************
*** 8780,8783 ****
--- 8663,8667 ----
*xp1 = *yp1 = *xp2 = *yp2 = 42; /* desire */
}
+
static void text_displace(t_gobj *z, t_glist *glist, int dx, int dy) {
t_text *x = (t_text *)z;
***************
*** 8963,8967 ****
class_addanything(c, mresp_anything);
-
c = message_class = class_new(gensym("message"), 0,0,
sizeof(t_message), CLASS_PATCHABLE, 0);
--- 8847,8850 ----
***************
*** 10287,10292 ****
class_addmethod3(c,canvas_print, "print","s");
- class_addmethod3(c,canvas_menufont, "menufont","");
- class_addmethod3(c,canvas_font, "font","fff");
class_addmethod3(c,canvas_find, "find","*");
class_addmethod3(c,canvas_find_again, "findagain","");
--- 10170,10173 ----