diff options
| author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-27 11:04:21 +0000 |
|---|---|---|
| committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-27 11:04:21 +0000 |
| commit | 59604a73b80257493ab1a1ec2388840c8343f355 (patch) | |
| tree | 94b16e51f49d5dfb802a38c9cd585e425c0c876e /ext/tk/lib | |
| parent | 35a5ad639384f1fa59b1ac707d3d318ee2a072f6 (diff) | |
| download | ruby-59604a73b80257493ab1a1ec2388840c8343f355.tar.gz ruby-59604a73b80257493ab1a1ec2388840c8343f355.tar.xz ruby-59604a73b80257493ab1a1ec2388840c8343f355.zip | |
* ext/tcltklib/tcltklib.c: fix SEGV bug when deleting Tk interp
* ext/tk/lib/multi-tk.rb: ditto
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@7667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib')
| -rw-r--r-- | ext/tk/lib/multi-tk.rb | 30 | ||||
| -rw-r--r-- | ext/tk/lib/tk.rb | 2 |
2 files changed, 23 insertions, 9 deletions
diff --git a/ext/tk/lib/multi-tk.rb b/ext/tk/lib/multi-tk.rb index f44f57662..d292b5089 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 diff --git a/ext/tk/lib/tk.rb b/ext/tk/lib/tk.rb index ab0c1a098..9dae5f089 100644 --- a/ext/tk/lib/tk.rb +++ b/ext/tk/lib/tk.rb @@ -3940,7 +3940,7 @@ end #Tk.freeze module Tk - RELEASE_DATE = '2004-12-24'.freeze + RELEASE_DATE = '2004-12-27'.freeze autoload :AUTO_PATH, 'tk/variable' autoload :TCL_PACKAGE_PATH, 'tk/variable' |
