summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xhistory.txt3
-rw-r--r--objects.js10
2 files changed, 9 insertions, 4 deletions
diff --git a/history.txt b/history.txt
index ca18e11..2c7ceaa 100755
--- a/history.txt
+++ b/history.txt
@@ -1917,3 +1917,6 @@ ______
------
* Objects, GUI: prevent costumes with CORS-tainted canvases, expected to fix #155, #154, #151, #148, #147, #127 for future projects
* BYOB: Prevent local custom blocks in global custom block definitions, fixes #167 for future projects
+
+130919
+* Objects: fixed #169 (sprites are sometimes off-placed when the project is loaded)
diff --git a/objects.js b/objects.js
index 398a61d..e7f1bbc 100644
--- a/objects.js
+++ b/objects.js
@@ -124,7 +124,7 @@ PrototypeHatBlockMorph*/
// Global stuff ////////////////////////////////////////////////////////
-modules.objects = '2013-September-18';
+modules.objects = '2013-September-19';
var SpriteMorph;
var StageMorph;
@@ -1250,6 +1250,7 @@ SpriteMorph.prototype.drawNew = function () {
isFlipped,
isLoadingCostume = this.costume &&
typeof this.costume.loaded === 'function',
+ cst,
pic, // (flipped copy of) actual costume based on my rotation style
stageScale = this.parent instanceof StageMorph ?
this.parent.scale : 1,
@@ -1332,15 +1333,16 @@ SpriteMorph.prototype.drawNew = function () {
SpriteMorph.uber.drawNew.call(this, facing);
this.rotationOffset = this.extent().divideBy(2);
if (isLoadingCostume) { // retry until costume is done loading
+ cst = this.costume;
handle = setInterval(
function () {
- myself.changed();
- myself.drawNew();
- myself.changed();
+ myself.wearCostume(cst);
clearInterval(handle);
},
100
);
+ return myself.wearCostume(null);
+
}
}
this.version = Date.now();