aboutsummaryrefslogtreecommitdiff
path: root/pd/src/g_editor.c
diff options
context:
space:
mode:
authorMiller Puckette <millerpuckette@users.sourceforge.net>2005-08-16 04:06:28 +0000
committerMiller Puckette <millerpuckette@users.sourceforge.net>2005-08-16 04:06:28 +0000
commit8892fb6aabcbfd2c4695c154c22751b5fe5c9004 (patch)
treebd44e093cbc928e32560f70d4ca64fd593d5dc3c /pd/src/g_editor.c
parentccd93386bb8edff9991df8d8cabf71b73039c5e3 (diff)
Configure.in was broken. Also, better GUI update queueing for
IEM guis and for 'data' (which should affect arrays.) svn path=/trunk/; revision=3430
Diffstat (limited to 'pd/src/g_editor.c')
-rw-r--r--pd/src/g_editor.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c
index a4bfa1e6..932a5413 100644
--- a/pd/src/g_editor.c
+++ b/pd/src/g_editor.c
@@ -94,11 +94,6 @@ int gobj_click(t_gobj *x, struct _glist *glist,
else return (0);
}
-void gobj_redraw(t_gobj *gobj, t_glist *glist)
-{
- glist_redrawitem(glist, gobj);
-}
-
/* ------------------------ managing the selection ----------------- */
void glist_selectline(t_glist *x, t_outconnect *oc, int index1,
@@ -696,10 +691,11 @@ static void glist_doreload(t_glist *gl, t_symbol *name, t_symbol *dir,
{
/* we're going to remake the object, so "g" will go stale.
Get its index here, and afterward restore g. Also, the
- replacement will be at teh end of the list, so we don't
+ replacement will be at the end of the list, so we don't
do g = g->g_next in this case. */
int j = glist_getindex(gl, g);
- if (!gl->gl_havewindow)
+ int hadwindow = gl->gl_havewindow;
+ if (!hadwindow)
canvas_vis(glist_getcanvas(gl), 1);
glist_noselect(gl);
glist_select(gl, g);
@@ -709,6 +705,8 @@ static void glist_doreload(t_glist *gl, t_symbol *name, t_symbol *dir,
canvas_undo(gl);
glist_noselect(gl);
g = glist_nth(gl, j);
+ if (!hadwindow)
+ canvas_vis(glist_getcanvas(gl), 0);
}
else
{
@@ -955,7 +953,11 @@ static void canvas_donecanvasdialog(t_glist *x,
canvas_setgraph(x, graphme, 0);
if (x->gl_havewindow)
canvas_redraw(x);
- else gobj_redraw(&x->gl_gobj, x->gl_owner);
+ else if (glist_isvisible(x->gl_owner))
+ {
+ gobj_vis(&x->gl_gobj, x->gl_owner, 0);
+ gobj_vis(&x->gl_gobj, x->gl_owner, 1);
+ }
}
/* called from the gui when a popup menu comes back with "properties,"