aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flbind.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/flext/source/flbind.cpp')
-rw-r--r--externals/grill/flext/source/flbind.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/externals/grill/flext/source/flbind.cpp b/externals/grill/flext/source/flbind.cpp
index 6e4d4f92..4ec9686b 100644
--- a/externals/grill/flext/source/flbind.cpp
+++ b/externals/grill/flext/source/flbind.cpp
@@ -165,13 +165,18 @@ bool flext_base::UnbindMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_sym
for(ItemSet::iterator si = it1; si != it2 && !it; ++si) {
for(Item *i = si.data(); i; i = i->nxt) {
BindItem *item = (BindItem *)i;
- if(!fun || item->fun == fun) { it = item; break; }
+ if(!fun || item->fun == fun)
+ {
+ it = item;
+ if(!sym) sym = si.key();
+ break;
+ }
}
}
if(it) {
if(data) *data = it->px->data;
- ok = bindhead->Remove(it,sym);
+ ok = bindhead->Remove(it,sym,0,false);
if(ok) {
it->Unbind(sym);
delete it;