diff options
| author | Gubolin <gubolin@fantasymail.de> | 2015-01-08 19:29:43 +0100 |
|---|---|---|
| committer | Gubolin <gubolin@fantasymail.de> | 2015-01-08 19:29:43 +0100 |
| commit | 8b7b751c04a0f41129a2d39de93c171e8e516c42 (patch) | |
| tree | ec627c704ed7f143b3b13f8c408797e738c47b29 /threads.js | |
| parent | 04b0e2e521e52aa4d812de2aa098ecc7f7c475f5 (diff) | |
| parent | 2b8d842592c0cf809408e4f14df1b23b55177206 (diff) | |
| download | snap-8b7b751c04a0f41129a2d39de93c171e8e516c42.tar.gz snap-8b7b751c04a0f41129a2d39de93c171e8e516c42.zip | |
Merge branch 'development' into gh-pages
Diffstat (limited to 'threads.js')
| -rw-r--r-- | threads.js | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -83,7 +83,7 @@ ArgLabelMorph, localize, XML_Element, hex_sha512*/ // Global stuff //////////////////////////////////////////////////////// -modules.threads = '2014-December-04'; +modules.threads = '2014-December-17'; var ThreadManager; var Process; @@ -243,7 +243,7 @@ ThreadManager.prototype.removeTerminatedProcesses = function () { // and un-highlight their scripts var remaining = []; this.processes.forEach(function (proc) { - if (!proc.isRunning() && !proc.errorFlag && !proc.isDead) { + if ((!proc.isRunning() && !proc.errorFlag) || proc.isDead) { if (proc.topBlock instanceof BlockMorph) { proc.topBlock.removeHighlight(); } @@ -1734,6 +1734,7 @@ Process.prototype.doForEach = function (upvar, list, script) { ); if (index > list.length()) {return; } this.context.inputs[3] += 1; + this.pushContext('doYield'); this.pushContext(); this.evaluate(script, new List(), true); }; @@ -2617,6 +2618,7 @@ Process.prototype.reportContextFor = function (context, otherObj) { if (result.outerContext) { result.outerContext = copy(result.outerContext); result.outerContext.receiver = otherObj; + result.outerContext.variables.parentFrame = otherObj.variables; } return result; }; |
