diff options
Diffstat (limited to 'src/preamble.js')
-rw-r--r-- | src/preamble.js | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/preamble.js b/src/preamble.js index 5c5e64fc..7abe0db8 100644 --- a/src/preamble.js +++ b/src/preamble.js @@ -793,21 +793,34 @@ var STRING_TABLE = []; // it happens right before run - run will be postponed until // the dependencies are met. var runDependencies = 0; -function addRunDependency() { +var runDependencyTracking = {}; +var calledRun = false; +function addRunDependency(id) { runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } + if (id) { + assert(!runDependencyTracking[id]); + runDependencyTracking[id] = 1; + } } Module['addRunDependency'] = addRunDependency; -function removeRunDependency() { +function removeRunDependency(id) { runDependencies--; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); } - if (runDependencies == 0) run(); + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } + if (runDependencies == 0 && !calledRun) run(); } Module['removeRunDependency'] = removeRunDependency; +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + // === Body === |