summaryrefslogtreecommitdiff
path: root/widgets.js
diff options
context:
space:
mode:
Diffstat (limited to 'widgets.js')
-rw-r--r--widgets.js11
1 files changed, 8 insertions, 3 deletions
diff --git a/widgets.js b/widgets.js
index 4c720a9..a2e4582 100644
--- a/widgets.js
+++ b/widgets.js
@@ -2043,10 +2043,15 @@ DialogBoxMorph.prototype.withKey = function (key) {
DialogBoxMorph.prototype.popUp = function (world) {
if (world) {
if (this.key) {
- if (this.instances[this.key]) {
- this.instances[this.key].destroy();
+ if (this.instances[world.stamp]) {
+ if (this.instances[world.stamp][this.key]) {
+ this.instances[world.stamp][this.key].destroy();
+ }
+ this.instances[world.stamp][this.key] = this;
+ } else {
+ this.instances[world.stamp] = {};
+ this.instances[world.stamp][this.key] = this;
}
- this.instances[this.key] = this;
}
world.add(this);
world.keyboardReceiver = this;