Skip to content

Commit e12ec09

Browse files
authored
embind: Fix quoting for readValueFromPointer and argPackAdvance (emscripten-core#15935)
1 parent 97657de commit e12ec09

3 files changed

Lines changed: 9 additions & 8 deletions

File tree

src/embind/emval.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,11 @@ var LibraryEmVal = {
148148
/*This function returns a new function that looks like this:
149149
function emval_allocator_3(constructor, argTypes, args) {
150150
var argType0 = requireRegisteredType(HEAP32[(argTypes >> 2)], "parameter 0");
151-
var arg0 = argType0.readValueFromPointer(args);
151+
var arg0 = argType0['readValueFromPointer'](args);
152152
var argType1 = requireRegisteredType(HEAP32[(argTypes >> 2) + 1], "parameter 1");
153-
var arg1 = argType1.readValueFromPointer(args + 8);
153+
var arg1 = argType1['readValueFromPointer'](args + 8);
154154
var argType2 = requireRegisteredType(HEAP32[(argTypes >> 2) + 2], "parameter 2");
155-
var arg2 = argType2.readValueFromPointer(args + 16);
155+
var arg2 = argType2['readValueFromPointer'](args + 16);
156156
var obj = new constructor(arg0, arg1, arg2);
157157
return Emval.toHandle(obj);
158158
} */
@@ -162,8 +162,8 @@ var LibraryEmVal = {
162162
argsList[0] = constructor;
163163
for (var i = 0; i < argCount; ++i) {
164164
var argType = requireRegisteredType(HEAP32[(argTypes >> 2) + i], 'parameter ' + i);
165-
argsList[i + 1] = argType.readValueFromPointer(args);
166-
args += argType.argPackAdvance;
165+
argsList[i + 1] = argType['readValueFromPointer'](args);
166+
args += argType['argPackAdvance'];
167167
}
168168
var obj = new (constructor.bind.apply(constructor, argsList));
169169
return Emval.toHandle(obj);
@@ -400,8 +400,8 @@ var LibraryEmVal = {
400400
var invokerFunction = (handle, name, destructors, args) => {
401401
var offset = 0;
402402
for (var i = 0; i < argCount - 1; ++i) {
403-
argN[i] = types[i + 1].readValueFromPointer(args + offset);
404-
offset += types[i + 1].argPackAdvance;
403+
argN[i] = types[i + 1]['readValueFromPointer'](args + offset);
404+
offset += types[i + 1]['argPackAdvance'];
405405
}
406406
var rv = handle[name].apply(handle, argN);
407407
for (var i = 0; i < argCount - 1; ++i) {

tests/runner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
http://kripken.github.io/emscripten-site/docs/getting_started/test-suite.html
1616
"""
1717

18-
# Use EMTEST_ALL_ENGINES=1 in the environment or pass --all-engined to test all engines!
18+
# Use EMTEST_ALL_ENGINES=1 in the environment or pass --all-engines to test all engines!
1919

2020
import argparse
2121
import atexit

tests/test_other.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2365,6 +2365,7 @@ def test_embind_closure_no_dynamic_execution(self):
23652365
int foo(int x) { return x; }
23662366
void bar() {
23672367
emscripten::val(123).call<std::string>("toString");
2368+
emscripten::val jarray = emscripten::val::global("Float32Array").new_(10);
23682369
emscripten_console_log("ok");
23692370
}
23702371
EMSCRIPTEN_BINDINGS(baz) {

0 commit comments

Comments
 (0)