diff options
-rw-r--r-- | src/postamble.js | 3 | ||||
-rw-r--r-- | src/preamble.js | 3 | ||||
-rw-r--r-- | tests/test_browser.py | 4 |
3 files changed, 7 insertions, 3 deletions
diff --git a/src/postamble.js b/src/postamble.js index 8f585b86..cd892733 100644 --- a/src/postamble.js +++ b/src/postamble.js @@ -35,9 +35,10 @@ var preloadStartTime = null; var calledMain = false; var calledRun = false; -dependenciesFulfilled = function() { +dependenciesFulfilled = function runCaller() { // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) if (!calledRun && shouldRunNow) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled } Module['callMain'] = Module.callMain = function callMain(args) { diff --git a/src/preamble.js b/src/preamble.js index 02935f8f..8e70cb74 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -993,8 +993,9 @@ function removeRunDependency(id) { runDependencyWatcher = null; } if (dependenciesFulfilled) { - dependenciesFulfilled(); + var callback = dependenciesFulfilled; dependenciesFulfilled = null; + callback(); // can add another dependenciesFulfilled } } } diff --git a/tests/test_browser.py b/tests/test_browser.py index 6a23b41c..a3b9a1c3 100644 --- a/tests/test_browser.py +++ b/tests/test_browser.py @@ -1477,7 +1477,9 @@ keydown(100);keyup(100); // trigger the end }, 2000); }; ''') - self.btest('pre_run_deps.cpp', expected='10', args=['--pre-js', 'pre.js']) + + for mem in [0, 1]: + self.btest('pre_run_deps.cpp', expected='10', args=['--pre-js', 'pre.js', '--memory-init-file', str(mem)]) def test_worker_api(self): Popen([PYTHON, EMCC, path_from_root('tests', 'worker_api_worker.cpp'), '-o', 'worker.js', '-s', 'BUILD_AS_WORKER=1', '-s', 'EXPORTED_FUNCTIONS=["_one"]']).communicate() |