aboutsummaryrefslogtreecommitdiff
path: root/src/embind/embind.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/embind/embind.js')
-rwxr-xr-xsrc/embind/embind.js8
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));