diff options
Diffstat (limited to 'src/embind/embind.js')
-rwxr-xr-x | src/embind/embind.js | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/embind/embind.js b/src/embind/embind.js index 5d6e6c21..83c3841f 100755 --- a/src/embind/embind.js +++ b/src/embind/embind.js @@ -491,7 +491,13 @@ RegisteredPointer.prototype.isPolymorphic = function() { RegisteredPointer.prototype.toWireType = function(destructors, handle) { var fromRawType; if (handle === null) { - return 0; // todo: maybe this should return a zero-initialized smart pointer object + if (this.isSmartPointer) { + var ptr = this.rawConstructor(0, 0); + destructors.push(this.rawDestructor, ptr); + return ptr; + } else { + return 0; + } } if (!(handle instanceof ClassHandle)) { throwBindingError('Expected pointer or null, got ' + IMVU.repr(handle)); |