diff --git a/pd/src/g_all_guis.c b/pd/src/g_all_guis.c index ed0bdb28c7ae5cbf2a67fd42bd020c15e49a75df..62d3e6c717f0c9e889b59defd0d610081cfc938f 100644 --- a/pd/src/g_all_guis.c +++ b/pd/src/g_all_guis.c @@ -657,6 +657,8 @@ void scalehandle_draw_select(t_scalehandle *h, t_glist *canvas, int px, int py) int sx = h->h_scale ? SCALEHANDLE_WIDTH : LABELHANDLE_WIDTH; int sy = h->h_scale ? SCALEHANDLE_HEIGHT : LABELHANDLE_HEIGHT; + scalehandle_draw_erase(h,canvas); + if (!h->h_vis) { sys_vgui("canvas %s -width %d -height %d -bg $pd_colors(selection) -bd 0 " "-cursor %s\n", h->h_pathname, sx, sy, cursor); @@ -672,9 +674,11 @@ void scalehandle_draw_select(t_scalehandle *h, t_glist *canvas, int px, int py) h->h_pathname, tags); scalehandle_bind(h); h->h_vis = 1; + /* not yet (this is not supported by current implementation) } else { sys_vgui(".x%x.c coords %s %d %d\n", canvas, h->h_pathname, x->x_obj.te_xpix+px-sx, x->x_obj.te_ypix+py-sy); + sys_vgui("raise %s\n", h->h_pathname); */ } } diff --git a/pd/src/g_canvas.c b/pd/src/g_canvas.c index 01ff0014e3505144fa8777d88931190154be3260..bffd220d965be2579c6f588ca67a399fbb100695 100644 --- a/pd/src/g_canvas.c +++ b/pd/src/g_canvas.c @@ -711,11 +711,6 @@ void canvas_draw_gop_resize_hooks(t_canvas* x) sprintf(sh->h_pathname, ".x%lx.h%lx", (t_int)x, (t_int)sh); sprintf(mh->h_pathname, ".x%lx.h%lx", (t_int)x, (t_int)mh); - // Need to reset handles' vis values because they are erased via map - // (when applying properties, for instance) - scalehandle_draw_erase(sh,x); - scalehandle_draw_erase(mh,x); - scalehandle_draw_select(sh,x, -1-x->gl_obj.te_xpix+x->gl_xmargin + x->gl_pixwidth, -1-x->gl_obj.te_ypix+x->gl_ymargin + x->gl_pixheight/*,GOP_resblob*/);