diff options
| -rw-r--r-- | blocks.js | 13 | ||||
| -rwxr-xr-x | history.txt | 5 | ||||
| -rw-r--r-- | objects.js | 18 | ||||
| -rw-r--r-- | threads.js | 6 |
4 files changed, 32 insertions, 10 deletions
@@ -155,7 +155,7 @@ DialogBoxMorph, BlockInputFragmentMorph, PrototypeHatBlockMorph, Costume*/ // Global stuff //////////////////////////////////////////////////////// -modules.blocks = '2014-September-30'; +modules.blocks = '2014-October-01'; var SyntaxElementMorph; @@ -656,7 +656,9 @@ SyntaxElementMorph.prototype.labelPart = function (spec) { var part, tokens; if (spec[0] === '%' && spec.length > 1 && - this.selector !== 'reportGetVar') { + (this.selector !== 'reportGetVar' || + (spec === '%turtleOutline' && this.isObjInputFragment()))) { + // check for variable multi-arg-slot: if ((spec.length > 5) && (spec.slice(0, 5) === '%mult')) { part = new MultiArgMorph(spec.slice(5)); @@ -1361,6 +1363,13 @@ SyntaxElementMorph.prototype.labelPart = function (spec) { return part; }; +SyntaxElementMorph.prototype.isObjInputFragment = function () { + // private - for displaying a symbol in a variable block template + return (this.selector === 'reportGetVar') && + (this.getSlotSpec() === '%t') && + (this.parent.fragment.type === '%obj'); +}; + // SyntaxElementMorph layout: SyntaxElementMorph.prototype.fixLayout = function () { diff --git a/history.txt b/history.txt index a4ba13c..4f6b8a7 100755 --- a/history.txt +++ b/history.txt @@ -2291,3 +2291,8 @@ ______ * Objects: fixed #378 (disable context menus for boolean representations) * Blocks: fixed #584 +140930 +------ +* Threads: workaround for some REPORT issues +* Objects: fixed #599 (disable IDE keyboard shortcuts in presentation mode) +* Objects: correctly display symbol for %obj type input slots in the prototype template @@ -125,7 +125,7 @@ PrototypeHatBlockMorph*/ // Global stuff //////////////////////////////////////////////////////// -modules.objects = '2014-September-30'; +modules.objects = '2014-October-01'; var SpriteMorph; var StageMorph; @@ -4675,6 +4675,7 @@ StageMorph.prototype.fireKeyEvent = function (key) { var evt = key.toLowerCase(), hats = [], procs = [], + ide = this.parentThatIsA(IDE_Morph), myself = this; this.keysPressed[evt] = true; @@ -4682,19 +4683,24 @@ StageMorph.prototype.fireKeyEvent = function (key) { return this.fireGreenFlagEvent(); } if (evt === 'ctrl f') { - return this.parentThatIsA(IDE_Morph).currentSprite.searchBlocks(); + if (!ide.isAppMode) {ide.currentSprite.searchBlocks(); } + return; } if (evt === 'ctrl n') { - return this.parentThatIsA(IDE_Morph).createNewProject(); + if (!ide.isAppMode) {ide.createNewProject(); } + return; } if (evt === 'ctrl o') { - return this.parentThatIsA(IDE_Morph).openProjectsBrowser(); + if (!ide.isAppMode) {ide.openProjectsBrowser(); } + return; } if (evt === 'ctrl s') { - return this.parentThatIsA(IDE_Morph).save(); + if (!ide.isAppMode) {ide.save(); } + return; } if (evt === 'ctrl shift s') { - return this.parentThatIsA(IDE_Morph).saveProjectsBrowser(); + if (!ide.isAppMode) {return ide.saveProjectsBrowser(); } + return; } if (evt === 'esc') { return this.fireStopAllEvent(); @@ -83,7 +83,7 @@ ArgLabelMorph, localize, XML_Element, hex_sha512*/ // Global stuff //////////////////////////////////////////////////////// -modules.threads = '2014-September-29'; +modules.threads = '2014-October-01'; var ThreadManager; var Process; @@ -955,7 +955,9 @@ Process.prototype.doReport = function (value, isCSlot) { this.context.pc = this.context.expression.length - 1; } if (isCSlot) { - if (this.context.parentContext.expression instanceof Array) { + if (this.context && + this.context.parentContext && + this.context.parentContext.expression instanceof Array) { this.popContext(); } } |
