aboutsummaryrefslogtreecommitdiff
path: root/pd/src/g_vdial.c
diff options
context:
space:
mode:
Diffstat (limited to 'pd/src/g_vdial.c')
-rw-r--r--pd/src/g_vdial.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/pd/src/g_vdial.c b/pd/src/g_vdial.c
index 32d30876..81e29693 100644
--- a/pd/src/g_vdial.c
+++ b/pd/src/g_vdial.c
@@ -32,18 +32,20 @@ static t_class *vradio_class, *vradio_old_class;
/* widget helper functions */
-void vradio_draw_update(t_vradio *x, t_glist *glist)
+void vradio_draw_update(t_gobj *client, t_glist *glist)
{
+ t_hradio *x = (t_hradio *)client;
if(glist_isvisible(glist))
{
t_canvas *canvas=glist_getcanvas(glist);
sys_vgui(".x%lx.c itemconfigure %lxBUT%d -fill #%6.6x -outline #%6.6x\n",
- canvas, x, x->x_on_old,
+ canvas, x, x->x_drawn,
x->x_gui.x_bcol, x->x_gui.x_bcol);
sys_vgui(".x%lx.c itemconfigure %lxBUT%d -fill #%6.6x -outline #%6.6x\n",
canvas, x, x->x_on,
x->x_gui.x_fcol, x->x_gui.x_fcol);
+ x->x_drawn = x->x_on;
}
}
@@ -70,6 +72,7 @@ void vradio_draw_new(t_vradio *x, t_glist *glist)
yy12 += dy;
yy21 += dy;
yy22 += dy;
+ x->x_drawn = x->x_on;
}
sys_vgui(".x%lx.c create text %d %d -text {%s} -anchor w \
-font {%s %d bold} -fill #%6.6x -tags %lxLABEL\n",
@@ -204,7 +207,7 @@ void vradio_draw_select(t_vradio* x, t_glist* glist)
void vradio_draw(t_vradio *x, t_glist *glist, int mode)
{
if(mode == IEM_GUI_DRAW_MODE_UPDATE)
- vradio_draw_update(x, glist);
+ sys_queuegui(x, glist, vradio_draw_update);
else if(mode == IEM_GUI_DRAW_MODE_MOVE)
vradio_draw_move(x, glist);
else if(mode == IEM_GUI_DRAW_MODE_NEW)