aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChad Austin <chad@imvu.com>2013-03-19 16:43:03 -0700
committerJukka Jylänki <jujjyl@gmail.com>2013-04-12 14:26:22 +0300
commit6f219fd0caad22aadad34dd46bc8043d299b4299 (patch)
tree11400c8421a89b8498699c9a1f8e0f21aceff6f1 /src
parentfe2bcf89921105ad3719655ec59905cc63be5c3d (diff)
Change EMSCRIPTEN_BINDINGS syntax and allow for out-of-order registration of value_tuple elements.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/embind/embind.js8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/embind/embind.js b/src/embind/embind.js
index 48bf2a7f..5dd631ff 100755
--- a/src/embind/embind.js
+++ b/src/embind/embind.js
@@ -339,10 +339,12 @@ function __embind_register_tuple_element(
memberPointer = copyMemberPointer(memberPointer, memberPointerSize);
var tupleType = requireRegisteredType(rawTupleType, 'tuple');
- // TODO: this could register elements out of order
+ var index = tupleType.elements.length;
+ tupleType.elements.push(undefined);
+
whenDependentTypesAreResolved([rawType], function(type) {
type = type[0];
- tupleType.elements.push({
+ tupleType.elements[index] = {
read: function(ptr) {
return type.fromWireType(getter(ptr, memberPointer));
},
@@ -351,7 +353,7 @@ function __embind_register_tuple_element(
setter(ptr, memberPointer, type.toWireType(destructors, o));
runDestructors(destructors);
}
- });
+ };
});
}