summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--blocks.js13
-rwxr-xr-xhistory.txt5
-rw-r--r--objects.js18
-rw-r--r--threads.js6
4 files changed, 32 insertions, 10 deletions
diff --git a/blocks.js b/blocks.js
index 0c265fc..73ef884 100644
--- a/blocks.js
+++ b/blocks.js
@@ -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
diff --git a/objects.js b/objects.js
index cca5439..905b3d1 100644
--- a/objects.js
+++ b/objects.js
@@ -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();
diff --git a/threads.js b/threads.js
index 2b2c1f6..6a59f3c 100644
--- a/threads.js
+++ b/threads.js
@@ -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();
}
}