diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2007-10-29 18:58:45 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2007-10-29 18:58:45 +0000 |
commit | e6812c77e47416a3152506865324deafcda64f3a (patch) | |
tree | 1b089bd1131084db6507455ce470c950e64d8b0d | |
parent | 6c38d4c61b0eb5a539d0c668f524fe1a66643a68 (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.c | 2 | ||||
-rw-r--r-- | cyclone/hammer/comment.c | 2 | ||||
-rw-r--r-- | cyclone/hammer/funbuff.c | 2 | ||||
-rw-r--r-- | cyclone/sickle/Scope.c | 2 | ||||
-rw-r--r-- | toxy/widget.c | 3 |
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); |