diff options
author | Miller Puckette <millerpuckette@users.sourceforge.net> | 2004-11-06 16:07:34 +0000 |
---|---|---|
committer | Miller Puckette <millerpuckette@users.sourceforge.net> | 2004-11-06 16:07:34 +0000 |
commit | 981f641ef44fe4d72dcb0e1248a2f96ba53cee69 (patch) | |
tree | d5871a901628db17e12e6204d13b4bdb4b8a07d9 /pd/src/g_canvas.c | |
parent | 5b0640e17d6db9e119d657fcadcf52ff317e704d (diff) |
0.38 test 9 (mostly bug fixes)
svn path=/trunk/; revision=2226
Diffstat (limited to 'pd/src/g_canvas.c')
-rw-r--r-- | pd/src/g_canvas.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/pd/src/g_canvas.c b/pd/src/g_canvas.c index 2d124ac3..a1beb8a8 100644 --- a/pd/src/g_canvas.c +++ b/pd/src/g_canvas.c @@ -84,7 +84,7 @@ static void glist_doupdatewindowlist(t_glist *gl, char *sbuf) { char tbuf[1024]; sprintf(tbuf, "{%s .x%lx} ", gl->gl_name->s_name, - (t_int)canvas); + (t_int)canvas); strcat(sbuf, tbuf); } } @@ -723,8 +723,11 @@ void canvas_vis(t_canvas *x, t_floatarg f) int flag = (f != 0); if (flag) { + /* post("havewindow %d, isgraph %d, isvisible %d editor %d", + x->gl_havewindow, x->gl_isgraph, glist_isvisible(x), + (x->gl_editor != 0)); */ /* test if we're already visible and toplevel */ - if (glist_isvisible(x) && !x->gl_isgraph) + if (x->gl_editor) { /* just put us in front */ #ifdef MSW canvas_vis(x, 0); @@ -1114,6 +1117,14 @@ static void canvas_rename_method(t_canvas *x, t_symbol *s, int ac, t_atom *av) { if (ac && av->a_type == A_SYMBOL) canvas_rename(x, av->a_w.w_symbol, 0); + 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); } |