aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flbind.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-04-16 21:35:06 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-04-16 21:35:06 +0000
commita7389a1405e6c160989e3d7097813b55e08e0f8d (patch)
tree9234122a98f9b8f41699e58e168feb10dda6bf03 /externals/grill/flext/source/flbind.cpp
parent0792fe88f2ad1d4f0bbc2c02c0fe6bb5782c31b6 (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.cpp9
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;
}
}