diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2005-04-16 21:35:06 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2005-04-16 21:35:06 +0000 |
commit | a7389a1405e6c160989e3d7097813b55e08e0f8d (patch) | |
tree | 9234122a98f9b8f41699e58e168feb10dda6bf03 /externals/grill/flext/source/flbind.cpp | |
parent | 0792fe88f2ad1d4f0bbc2c02c0fe6bb5782c31b6 (diff) |
updated templates
changed template parameter of TableMap
fixes for OSX
fixed problems with symbol binding
svn path=/trunk/; revision=2771
Diffstat (limited to 'externals/grill/flext/source/flbind.cpp')
-rw-r--r-- | externals/grill/flext/source/flbind.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/externals/grill/flext/source/flbind.cpp b/externals/grill/flext/source/flbind.cpp index ff84e4ea..7611fc59 100644 --- a/externals/grill/flext/source/flbind.cpp +++ b/externals/grill/flext/source/flbind.cpp @@ -62,12 +62,17 @@ flext_base::BindItem::BindItem(bool (*f)(flext_base *,t_symbol *s,int,t_atom *,v flext_base::BindItem::~BindItem() { - if(px) object_free(&px->obj); + if(px) { + FLEXT_ASSERT(!fun); // check if already unbound + object_free(&px->obj); + } } void flext_base::BindItem::Unbind(const t_symbol *tag) { if(px) { + FLEXT_ASSERT(fun); + #if FLEXT_SYS == FLEXT_SYS_PD pd_unbind(&px->obj.ob_pd,const_cast<t_symbol *>(tag)); #elif FLEXT_SYS == FLEXT_SYS_MAX @@ -78,6 +83,8 @@ void flext_base::BindItem::Unbind(const t_symbol *tag) #else # pragma warning("Not implemented") #endif + + fun = NULL; } } |