deleting variable watchers by dropping them on the palette resulted in
wrong ones to be created when showing them again
pull/3/merge
jmoenig 2014-07-22 12:33:26 +02:00
rodzic 15a751ad85
commit df25b4dc73
3 zmienionych plików z 15 dodań i 3 usunięć

Wyświetl plik

@ -2214,3 +2214,7 @@ ______
140721 140721
------ ------
* fixed #518 * fixed #518
140722
------
* Objects, Threads: fixed #521 (deleting variable watchers by dropping them on the palette results in wrong ones to be created when showing them again)

Wyświetl plik

@ -125,7 +125,7 @@ PrototypeHatBlockMorph*/
// Global stuff //////////////////////////////////////////////////////// // Global stuff ////////////////////////////////////////////////////////
modules.objects = '2014-July-17'; modules.objects = '2014-July-22';
var SpriteMorph; var SpriteMorph;
var StageMorph; var StageMorph;
@ -3545,6 +3545,9 @@ SpriteMorph.prototype.toggleVariableWatcher = function (varName, isGlobal) {
} }
// if no watcher exists, create a new one // if no watcher exists, create a new one
if (isNil(isGlobal)) {
isGlobal = contains(this.variables.parentFrame.names(), varName);
}
watcher = new WatcherMorph( watcher = new WatcherMorph(
varName, varName,
this.blockColor.variables, this.blockColor.variables,

Wyświetl plik

@ -83,7 +83,7 @@ ArgLabelMorph, localize, XML_Element, hex_sha512*/
// Global stuff //////////////////////////////////////////////////////// // Global stuff ////////////////////////////////////////////////////////
modules.threads = '2014-July-21'; modules.threads = '2014-July-22';
var ThreadManager; var ThreadManager;
var Process; var Process;
@ -1109,6 +1109,7 @@ Process.prototype.doShowVar = function (varName) {
target, target,
label, label,
others, others,
isGlobal,
name = varName; name = varName;
if (name instanceof Context) { if (name instanceof Context) {
@ -1135,7 +1136,11 @@ Process.prototype.doShowVar = function (varName) {
return; return;
} }
// if no watcher exists, create a new one // if no watcher exists, create a new one
if (target.owner) { isGlobal = contains(
this.homeContext.receiver.variables.parentFrame.names(),
varName
);
if (isGlobal || target.owner) {
label = name; label = name;
} else { } else {
label = name + ' (temporary)'; label = name + ' (temporary)';