aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flitem.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-03-31 03:52:38 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-03-31 03:52:38 +0000
commit3363199f5b126d2f0305a57f6a61fb2dd8007e10 (patch)
tree04498fea38eb3d91e455fc1cca91c8879140daeb /externals/grill/flext/source/flitem.cpp
parentb3cfaffbe0124254f5da70857f6c1cec59184897 (diff)
optimized AtomList functions
moved FLEXT_SHARE definition smaller changes to TableMap enhancements and more features for TableMap type new: FLEXT_WARN, FLEXT_ERROR macros svn path=/trunk/; revision=2653
Diffstat (limited to 'externals/grill/flext/source/flitem.cpp')
-rwxr-xr-xexternals/grill/flext/source/flitem.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/externals/grill/flext/source/flitem.cpp b/externals/grill/flext/source/flitem.cpp
index eb307d09..c73ee91a 100755
--- a/externals/grill/flext/source/flitem.cpp
+++ b/externals/grill/flext/source/flitem.cpp
@@ -86,8 +86,11 @@ bool flext_base::ItemCont::Remove(Item *item,const t_symbol *tag,int inlet,bool
for(Item *prv = NULL; lit; prv = lit,lit = lit->nxt) {
if(lit == item) {
if(prv) prv->nxt = lit->nxt;
- else set.insert(tag,lit->nxt);
-
+ else if(lit->nxt)
+ set.insert(tag,lit->nxt);
+ else
+ set.erase(tag);
+
lit->nxt = NULL;
if(free) delete lit;
return true;
@@ -105,7 +108,7 @@ flext_base::Item *flext_base::ItemCont::FindList(const t_symbol *tag,int inlet)
// --- class item lists (methods and attributes) ----------------
-typedef TableMap<flext_base::t_classid,flext_base::ItemCont,64> ClassMap;
+typedef TablePtrMap<flext_base::t_classid,flext_base::ItemCont,64> ClassMap;
static ClassMap classarr[2];