From 185d9a6b38a94150edb98a9a0d3c90fe9a3bd68d Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Fri, 15 Aug 2003 02:32:46 +0000 Subject: "" svn path=/trunk/; revision=848 --- externals/grill/flext/source/flattr_ed.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'externals/grill/flext/source/flattr_ed.cpp') diff --git a/externals/grill/flext/source/flattr_ed.cpp b/externals/grill/flext/source/flattr_ed.cpp index 2153a485..fddbb69b 100644 --- a/externals/grill/flext/source/flattr_ed.cpp +++ b/externals/grill/flext/source/flattr_ed.cpp @@ -467,9 +467,6 @@ void flext_base::cb_GfxSave(t_gobj *c, t_binbuf *b) AtomList la; th->ListAttrib(la); cnt = la.Count(); - char attrname[100]; - *attrname= '@'; - for(int i = 0; i < cnt; ++i) { const t_symbol *sym = GetSymbol(la[i]); @@ -479,8 +476,26 @@ void flext_base::cb_GfxSave(t_gobj *c, t_binbuf *b) if(it != th->attrdata->end()) { const AttrData &a = it->second; - if(a.IsInit() && a.IsInitValue()) + if(a.IsInit() && a.IsInitValue()) { lref = &a.GetInitValue(); +/* + // check for $-parameters + lv = lref->Count(); + for(int j = 0; j < lref->Count(); ++j) { + const char *s = IsSymbol((*lref)[j])?GetString((*lref)[j]):NULL; + if(s && s[0] == '$') { // TODO: More refined checking? + // prepend a "\" + char tmp[256]; *tmp = '\\'; + strcpy(tmp+1,s); + SetString(lv[j],tmp); + } + else + lv[i] = (*lref)[j]; + } + + lref = &lv; +*/ + } else if(a.IsSaved()) { AttrItem *attr = th->FindAttrib(sym,true); @@ -493,6 +508,7 @@ void flext_base::cb_GfxSave(t_gobj *c, t_binbuf *b) } if(lref) { + char attrname[256]; *attrname= '@'; // store name strcpy(attrname+1,GetString(sym)); binbuf_addv(b,"s",MakeSymbol(attrname)); -- cgit v1.2.1