aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2007-10-29 18:58:45 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2007-10-29 18:58:45 +0000
commite6812c77e47416a3152506865324deafcda64f3a (patch)
tree1b089bd1131084db6507455ce470c950e64d8b0d
parent6c38d4c61b0eb5a539d0c668f524fe1a66643a68 (diff)
Following this thread:
http://lists.puredata.info/pipermail/pd-dev/2007-10/009797.html I have changed the save functions so that they will save the name of the object that it was actually instantiated with. This allows objects with savefns to work properly with namespaces. This is a fix for this bug: http://sourceforge.net/tracker/index.php?&aid=1818219&group_id=55736&atid=478070 svn path=/trunk/externals/miXed/; revision=8902
-rw-r--r--cyclone/hammer/Table.c2
-rw-r--r--cyclone/hammer/comment.c2
-rw-r--r--cyclone/hammer/funbuff.c2
-rw-r--r--cyclone/sickle/Scope.c2
-rw-r--r--toxy/widget.c3
5 files changed, 6 insertions, 5 deletions
diff --git a/cyclone/hammer/Table.c b/cyclone/hammer/Table.c
index 00043f0..488ce20 100644
--- a/cyclone/hammer/Table.c
+++ b/cyclone/hammer/Table.c
@@ -316,7 +316,7 @@ static void tablecommon_dowrite(t_tablecommon *cc, t_symbol *fn, t_canvas *cv)
strncpy(buf, fn->s_name, MAXPDSTRING);
buf[MAXPDSTRING-1] = 0;
}
- binbuf_addv(bb, "s", gensym("table"));
+ binbuf_addv(bb, "s", atom_getsymbol(binbuf_getvec(x->x_obj.te_binbuf)));
for (ndx = 0, ptr = cc->c_table; ndx < cc->c_length; ndx++, ptr++)
binbuf_addv(bb, "i", *ptr);
binbuf_write(bb, buf, "", 0);
diff --git a/cyclone/hammer/comment.c b/cyclone/hammer/comment.c
index 6a52bb8..b3ac7a6 100644
--- a/cyclone/hammer/comment.c
+++ b/cyclone/hammer/comment.c
@@ -455,7 +455,7 @@ static void comment_save(t_gobj *z, t_binbuf *b)
comment_validate(x, 0);
binbuf_addv(b, "ssiisiissiiii", gensym("#X"), gensym("obj"),
(int)t->te_xpix, (int)t->te_ypix,
- gensym("comment"),
+ atom_getsymbol(binbuf_getvec(x->x_obj.te_binbuf)),
x->x_pixwidth, x->x_fontsize, x->x_fontfamily,
(x->x_encoding ? x->x_encoding : gensym("?")),
x->x_fontprops,
diff --git a/cyclone/hammer/funbuff.c b/cyclone/hammer/funbuff.c
index cde29f3..2aeb082 100644
--- a/cyclone/hammer/funbuff.c
+++ b/cyclone/hammer/funbuff.c
@@ -227,7 +227,7 @@ static void funbuff_dowrite(t_funbuff *x, t_symbol *fn)
t_binbuf *bb = binbuf_new();
char buf[MAXPDSTRING];
t_hammernode *np;
- binbuf_addv(bb, "s", gensym("funbuff"));
+ binbuf_addv(bb, "s", atom_getsymbol(binbuf_getvec(x->x_obj.te_binbuf)));
for (np = x->x_tree.t_first; np; np = np->n_next)
binbuf_addv(bb, "if", np->n_key, HAMMERNODE_GETFLOAT(np));
canvas_makefilename(x->x_canvas, fn->s_name, buf, MAXPDSTRING);
diff --git a/cyclone/sickle/Scope.c b/cyclone/sickle/Scope.c
index 4668afe..eb13a48 100644
--- a/cyclone/sickle/Scope.c
+++ b/cyclone/sickle/Scope.c
@@ -842,7 +842,7 @@ static void scope_save(t_gobj *z, t_binbuf *b)
t_text *t = (t_text *)x;
binbuf_addv(b, "ssiisiiiiiffififiiiiiii;", gensym("#X"), gensym("obj"),
(int)t->te_xpix, (int)t->te_ypix,
- gensym("Scope~"),
+ atom_getsymbol(binbuf_getvec(x->x_obj.te_binbuf)),
x->x_width, x->x_height, x->x_period, 3, x->x_bufsize,
x->x_minval, x->x_maxval, x->x_delay, 0.,
x->x_trigmode, x->x_triglevel,
diff --git a/toxy/widget.c b/toxy/widget.c
index ce6916b..b0ab4de 100644
--- a/toxy/widget.c
+++ b/toxy/widget.c
@@ -469,7 +469,8 @@ static void widget_save(t_gobj *z, t_binbuf *bb)
t_atom *hnd = props_getall(x->x_handlers, &nhnd);
t_atom *arg = props_getall(x->x_arguments, &narg);
binbuf_addv(bb, "ssiisss", gensym("#X"), gensym("obj"),
- (int)t->te_xpix, (int)t->te_ypix, gensym("widget"),
+ (int)t->te_xpix, (int)t->te_ypix,
+ atom_getsymbol(binbuf_getvec(x->x_obj.te_binbuf)),
x->x_type, x->x_name);
if (narg) binbuf_add(bb, narg, arg);
if (nopt) binbuf_add(bb, nopt, opt);