make "when I receive 'any message'" hat scripts threadsafe (uninterruptable by other messages)

snap7
jmoenig 2021-10-21 10:07:15 +02:00
rodzic ed71022b95
commit 8f3e78d232
4 zmienionych plików z 13 dodań i 7 usunięć

Wyświetl plik

@ -18,7 +18,8 @@
* saved projects remember the last edited sprite
* libraries no longer rely on the JSF primitive, project may need to re-import their libraries to run without having to enable JS extensions
* bulk hide/show arbitrary blocks in the palette via the palette's context menu (instead of the primitive blocks' context menus)
* hidden blocks don't appear in search results / keyboard input options
* hidden blocks don't appear in search results / keyboard input options
* "when I receive 'any message'" hat scripts are threadsafe (uninterruptable by other messages)
* retired Leap Motion library, took out Hummingbird library (get the current one from Birdbrain)
* display blocks with their error messages for custom blocks, thanks, Michael!
* made scrollbars thinner by default and slightly transparent in flat design mode
@ -41,6 +42,9 @@
* German
* Chinese, thanks, Simon!
### 2021-10-21
* threads, objects: make "when I receive 'any message'" hat scripts threadsafe (uninterruptable by other messages)
### 2021-10-20
* blocks: enable sending green-flag events when switching scenes
* blocks, objects, gui, threads: removed "When switched to this scene hat block"

Wyświetl plik

@ -17,8 +17,8 @@
<script src="src/symbols.js?version=2021-03-03"></script>
<script src="src/widgets.js?version=2021-07-21"></script>
<script src="src/blocks.js?version=2021-10-20"></script>
<script src="src/threads.js?version=2021-10-20"></script>
<script src="src/objects.js?version=2021-10-20"></script>
<script src="src/threads.js?version=2021-10-21"></script>
<script src="src/objects.js?version=2021-10-21"></script>
<script src="src/scenes.js?version=2021-10-12"></script>
<script src="src/gui.js?version=2021-10-20"></script>
<script src="src/paint.js?version=2021-07-05"></script>

Wyświetl plik

@ -87,7 +87,7 @@ BlockVisibilityDialogMorph*/
/*jshint esversion: 6*/
modules.objects = '2021-October-20';
modules.objects = '2021-October-21';
var SpriteMorph;
var StageMorph;
@ -8472,7 +8472,8 @@ StageMorph.prototype.fireChangeOfSceneEvent = function (message) {
procs.push(this.threads.startProcess(
block,
morph,
this.isThreadSafe,
this.isThreadSafe || // make "any msg" threadsafe
block.inputs()[0].evaluate() instanceof Array,
null, // exportResult (bool)
null, // callback
null, // isClicked

Wyświetl plik

@ -64,7 +64,7 @@ SnapExtensions, AlignmentMorph, TextMorph, Cloud*/
/*jshint esversion: 6*/
modules.threads = '2021-October-20';
modules.threads = '2021-October-21';
var ThreadManager;
var Process;
@ -3714,7 +3714,8 @@ Process.prototype.doBroadcast = function (message) {
procs.push(stage.threads.startProcess(
block,
morph,
stage.isThreadSafe,
stage.isThreadSafe || // make "any msg" threadsafe
block.inputs()[0].evaluate() instanceof Array,
null, // exportResult (bool)
null, // callback
null, // isClicked