diff --git a/pd/src/g_graph.c b/pd/src/g_graph.c index 94b129609da2c65de2d1f23f36a6286cc49920ed..d2b58b94d5c790531eb36762e78aa8144bbbc20f 100644 --- a/pd/src/g_graph.c +++ b/pd/src/g_graph.c @@ -948,6 +948,17 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis) } else if (gobj_shouldvis(gr, parent_glist)) { + /* erase contents of glist. We need to do this because + scalar_vis is currently using pd_bind/unbind to handle + scalar events. */ + for (g = x->gl_list; g; g = g->g_next) + { + gop_redraw = 1; + //fprintf(stderr,"drawing gop objects\n"); + gobj_vis(g, x, 0); + //fprintf(stderr,"done\n"); + gop_redraw = 0; + } gui_vmess("gui_gobj_erase", "xs", glist_getcanvas(x->gl_owner), tag);