summaryrefslogtreecommitdiff
path: root/ext/tk/lib/multi-tk.rb
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-27 11:04:21 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-12-27 11:04:21 +0000
commit23182e77ad4f02b55674866c0a17f91bd5a9c3d2 (patch)
tree0ef3edfd59497f4e35ea66462c692182d1af0f03 /ext/tk/lib/multi-tk.rb
parent16cdfdad284ce9b65b95ff5bc2dcdeaa73f60dcc (diff)
* ext/tcltklib/tcltklib.c: fix SEGV bug when deleting Tk interp
* ext/tk/lib/multi-tk.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@7667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib/multi-tk.rb')
-rw-r--r--ext/tk/lib/multi-tk.rb30
1 files changed, 22 insertions, 8 deletions
diff --git a/ext/tk/lib/multi-tk.rb b/ext/tk/lib/multi-tk.rb
index f44f576626..d292b5089d 100644
--- a/ext/tk/lib/multi-tk.rb
+++ b/ext/tk/lib/multi-tk.rb
@@ -189,7 +189,9 @@ class MultiTkIp
unless ip.deleted?
ip._split_tklist(ip._invoke('interp', 'slaves')).each{|name|
begin
- ip._eval_without_enc("#{name} eval {foreach i [after info] {after cancel $i}}")
+ # ip._eval_without_enc("#{name} eval {foreach i [after info] {after cancel $i}}")
+ after_ids = ip._eval_without_enc("#{name} eval {after info}")
+ ip._eval_without_enc("#{name} eval {foreach i {#{after_ids}} {after cancel $i}}")
rescue Exception
end
begin
@@ -236,7 +238,9 @@ class MultiTkIp
@slave_ip_tbl.each{|name, subip|
_destroy_slaves_of_slaveIP(subip)
begin
- subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = subip._eval_without_enc("after info")
+ subip._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
=begin
@@ -270,7 +274,9 @@ class MultiTkIp
}
begin
- @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = @interp._eval_without_enc("after info")
+ @interp._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
begin
@@ -310,7 +316,9 @@ class MultiTkIp
@slave_ip_tbl.each{|name, subip|
_destroy_slaves_of_slaveIP(subip)
begin
- subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = subip._eval_without_enc("after info")
+ subip._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
=begin
@@ -344,7 +352,9 @@ class MultiTkIp
}
begin
- @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = @interp._eval_without_enc("after info")
+ @interp._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
=begin
@@ -1315,7 +1325,7 @@ class MultiTkIp
@cmd_queue.enq([nil, cmd, *args])
rescue Exception => e
# ignore
- if $DEBUG || true
+ if $DEBUG
warn("Warning: " + e.class.inspect +
((e.message.length > 0)? ' "' + e.message + '"': '') +
" on " + self.inspect)
@@ -1821,7 +1831,9 @@ class MultiTkIp
end
=end
begin
- subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # subip._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = subip._eval_without_enc("after info")
+ subip._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
@@ -1850,7 +1862,9 @@ class MultiTkIp
}
begin
- @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ # @interp._eval_without_enc("foreach i [after info] {after cancel $i}")
+ after_ids = @interp._eval_without_enc("after info")
+ @interp._eval_without_enc("foreach i {#{after_ids}} {after cancel $i}")
rescue Exception
end
=begin