From 54fec68d787f385f87683df5011bbcec8f0c3f77 Mon Sep 17 00:00:00 2001 From: jmoenig Date: Thu, 24 Jul 2014 12:24:19 +0200 Subject: [PATCH] =?UTF-8?q?Display=20=E2=80=9Cempty=E2=80=9D=20Contexts=20?= =?UTF-8?q?as=20empty=20rings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (e.g. continuations). Brian was complaining about empty continuations “sucking” up the watchers and value bubbles. --- history.txt | 1 + threads.js | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/history.txt b/history.txt index 2fe1a18a..9f21f793 100755 --- a/history.txt +++ b/history.txt @@ -2227,3 +2227,4 @@ ______ ------ * Objects: fixed “lost sprites bug” - ensure duplicated sprites keep wearing their current costume through save and re-load * GUI, Objects: improve unique sprite- and costume names +* Threads: Display “empty” Contexts (e.g. continuations) as empty rings diff --git a/threads.js b/threads.js index fccb2a37..06beebc3 100644 --- a/threads.js +++ b/threads.js @@ -83,7 +83,7 @@ ArgLabelMorph, localize, XML_Element, hex_sha512*/ // Global stuff //////////////////////////////////////////////////////// -modules.threads = '2014-July-22'; +modules.threads = '2014-July-24'; var ThreadManager; var Process; @@ -2854,7 +2854,18 @@ Context.prototype.image = function () { ring.embed(block, this.isContinuation ? [] : this.inputs); return ring.fullImage(); } - return newCanvas(); + + // otherwise show an empty ring + ring.color = SpriteMorph.prototype.blockColor.other; + ring.setSpec('%rc %ringparms'); + + // also show my inputs, unless I'm a continuation + if (!this.isContinuation) { + this.inputs.forEach(function (inp) { + ring.parts()[1].addInput(inp); + }); + } + return ring.fullImage(); }; // Context continuations: