|
@@ -93,8 +93,11 @@ public:
|
|
|
if (unbinds > 0) {
|
|
|
return Callable(target, method).unbind(unbinds);
|
|
|
} else if (!binds.is_empty()) {
|
|
|
- const Variant *args = binds.ptr();
|
|
|
- return Callable(target, method).bind(&args, binds.size());
|
|
|
+ const Variant **argptrs = (const Variant **)alloca(sizeof(Variant *) * binds.size());
|
|
|
+ for (int i = 0; i < binds.size(); i++) {
|
|
|
+ argptrs[i] = &binds[i];
|
|
|
+ }
|
|
|
+ return Callable(target, method).bind(argptrs, binds.size());
|
|
|
} else {
|
|
|
return Callable(target, method);
|
|
|
}
|