summaryrefslogtreecommitdiff
path: root/ext/tk/lib/multi-tk.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tk/lib/multi-tk.rb')
-rw-r--r--ext/tk/lib/multi-tk.rb18
1 files changed, 15 insertions, 3 deletions
diff --git a/ext/tk/lib/multi-tk.rb b/ext/tk/lib/multi-tk.rb
index d292b5089d..ef4868fdef 100644
--- a/ext/tk/lib/multi-tk.rb
+++ b/ext/tk/lib/multi-tk.rb
@@ -762,7 +762,11 @@ class MultiTkIp
#slave_ip.delete
slave_ip._eval_without_enc('exit')
end
- top.destroy if top.winfo_exist?
+ begin
+ top.destroy if top.winfo_exist?
+ rescue
+ # ignore
+ end
}
tag = TkBindTag.new.bind('Destroy', slave_delete_proc)
@@ -1560,10 +1564,14 @@ class << MultiTkIp
__getip.delete
end
- def deleteed?
+ def deleted?
__getip.deleted?
end
+ def null_namespace?
+ __getip.null_namespace?
+ end
+
def abort(msg = nil)
__getip.abort(msg)
end
@@ -1886,6 +1894,10 @@ class MultiTkIp
@interp.deleted?
end
+ def null_namespace?
+ @interp.null_namespace?
+ end
+
def abort(msg = nil)
if master?
if msg
@@ -2217,7 +2229,7 @@ class MultiTkIp
def set_bgerror_handler(cmd = Proc.new, slave = nil, &b)
unless TkComm._callback_entry?(cmd)
- unless slave
+ if !slave && b
slave = cmd
cmd = Proc.new(&b)
end